home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / pcl / docs.lha / latexinfo / manual / latexinfo2.info < prev    next >
Text File  |  1992-02-26  |  396KB  |  11,780 lines

  1. Info file: latexinfo2.info,    -*-Text-*-
  2. produced by latexinfo-format-buffer
  3. from file: latexinfo2.tex
  4.  
  5.  
  6. 
  7. File: latexinfo2.info  Node: Top, Prev: (dir), Up: (dir), Next: Copying
  8.  
  9.                    The LaTeXinfo Documentation Format
  10.                               Version 1.7
  11.  
  12.                           Richard M. Stallman
  13.                          and Robert J. Chassell
  14.                      The Free Software Foundation,
  15.                  675 Massachusetts Ave., Cambridge MA,
  16.                                     
  17.                             Michael Clarkson
  18.                   Centre for Earth and Space Science,
  19.                             York University,
  20.                       North York, Ontario, M3J 1P3
  21.  
  22.  
  23.  
  24.                            February 26, 1992
  25.  
  26.  
  27.  
  28. Copyright (C)  1988, 1990, 1991 Free Software Foundation, Inc.
  29. Copyleft (C) 1988, 1989, 1990, 1991 Michael E. Clarkson.
  30.  
  31.  
  32.  
  33. This is version 1.7 of the LaTeXinfo documentation, and is
  34. for Version 18 of GNU Emacs.  This is the second edition of the LaTeXinfo
  35. documentation, and is also consistent with version 2 of Texinfo
  36. documentation `texinfo.tex'.
  37.  
  38.  
  39.  
  40.  
  41. Permission is granted to make and distribute verbatim copies of
  42. this manual provided the copyright notice and this permission notice
  43. are preserved on all copies.
  44.  
  45. Permission is granted to copy and distribute modified versions of this
  46. manual under the conditions for verbatim copying, provided that the entire
  47. resulting derived work is distributed under the terms of a permission
  48. notice identical to this one.
  49.  
  50. Permission is granted to copy and distribute translations of this manual
  51. into another language, under the above conditions for modified versions,
  52. except that this permission notice may be stated in a translation approved
  53. by the Foundation.
  54.  
  55.  
  56.  
  57.  
  58.  
  59. * Menu:
  60.  
  61. * Copying::                     LaTeXinfo Copying Conditions
  62. * Overview::                    Overview of LaTeXinfo
  63. * Beginning a File::            Beginning a LaTeXinfo File
  64. * Structuring::                 Chapter Structuring
  65. * Marking Text::                Marking Words and Phrases
  66. * Displaying Material::         
  67. * Lists and Tables::            Making Lists Tables and Descriptions
  68. * Formatting Paragraphs::       
  69. * Citations and Footnotes::     
  70. * Input and Include Files::     
  71. * Definition Commands::         Definition Commands: `\deffn', etc.
  72. * Nodes and Menus::             
  73. * Cross References::            Making Cross References
  74. * Creating Indices::            
  75. * Creating and Installing an Info File::  
  76. * LaTeXinfo Mode::              Using LaTeXinfo Mode
  77. * Printing Hardcopy::           
  78. * Catching Formatting Mistakes::  
  79. * Extending LaTeXinfo::         
  80. * Installing LaTeXinfo::        
  81. * Converting Files to LaTeXinfo::  
  82. * Obtaining TeX::               Obtaining LaTeX
  83. * Command List::                
  84. * Command Index::               
  85. * Concept Index::               Concept Index
  86.  
  87.  --- The Detailed Node Listing ---
  88.  
  89. Overview of LaTeXinfo
  90.  
  91. * Using Latexinfo::             Create an normal printed book
  92.                                   or an Info file.
  93. * Advantages of LaTeXinfo over TeXinfo::  
  94. * Info Files::                  What is an Info file?
  95. * Printed Manuals::             Characteristics of a printed manual
  96. * Formatting Commands::         \-commands are used for formatting.
  97. * A Short Sample LaTeXinfo File::  
  98.  
  99. Beginning a LaTeXinfo File
  100.  
  101. * Conventions::                 General Syntactic Conventions
  102. * Minimum::                     What a LaTeXinfo File Must Have
  103. * Six Parts::                   Six Parts of a LaTeXinfo File
  104. * The LaTeXinfo File Header::   
  105. * The Title and Copyright Pages::  
  106. * Generating a Table of Contents::  
  107. * The Top Node::                Creating the top node and master menu.
  108. * Software Copying Conditions::  
  109. * Ending a File::               Ending a LaTeXinfo File
  110.  
  111. General Syntactic Conventions
  112.  
  113. * Comments::                    
  114.  
  115. The LaTeXinfo File Header
  116.  
  117. * The Documentstyle::           
  118. * setfilename::                 `\setfilename'
  119. * New Indexes::                 
  120. * Custom Headings::             Customizing Your Layout
  121.  
  122. Customizing Your Layout
  123.  
  124. * paragraphindent::             Paragraph Indenting
  125.  
  126. The Title and Copyright Pages
  127.  
  128. * Titlepage::                   
  129. * The Copyright Page and Printed Permissions::  
  130.  
  131. The Top Node and Master Menu
  132.  
  133. * Title of Top Node::           A Top node needs a title.
  134. * Master Menu Parts::           A master menu has three or more parts.
  135.  
  136. Software Copying Conditions
  137.  
  138. * Sample Permissions::          
  139. * Titlepage Permissions::       Titlepage Copying Permissions
  140.  
  141. Sample Permissions
  142.  
  143. * Inserting Permissions::       How to put permissions in your document.
  144. * ifinfo Permissions::          Sample `ifinfo' copying permissions.
  145. * Titlepage Permissions::       Sample Titlepage copying permissions.
  146.  
  147. Ending a LaTeXinfo File
  148.  
  149. * Making a Bibliography::       
  150. * Printing an Index and Generating Menus::  Printing an index and generating index menus.
  151. * File End::                    Ending a file with `\end{document}'.
  152.  
  153. Chapter Structuring
  154.  
  155. * Tree Structuring::            A manual is like an upside down tree ...
  156. * Structuring Command Types::   How to divide a manual into parts.
  157. * Chapter::                     
  158. * Appendix::                    
  159. * Section::                     
  160. * Subsection::                  
  161. * Subsubsection::               Commands for the lowest level sections.
  162.  
  163. Types of Structuring Command
  164.  
  165. * Chapter::
  166. * Appendix::
  167. * Section::
  168. * Subsection::
  169. * Subsubsection::
  170. * Node::
  171. * Menu Environment::
  172.  
  173. Marking Words and Phrases
  174.  
  175. * Indicating::                  Indicating Definitions, Commands, etc.
  176. * Emphasis::                    Emphasizing Text
  177. * Insertions::                  Special Insertions
  178.  
  179. Indicating Definitions, Commands, etc.
  180.  
  181. * code::                        How to indicate code.
  182. * kbd::                         How to show keyboard input.
  183. * key::                         How to specify keys.
  184. * Ctrl::                        
  185. * samp::                        How to show a literal sequence of characters.
  186. * var::                         How to indicate a metasyntactic variable.
  187. * file::                        How to indicate the name of a file.
  188. * dfn::                         How to specify a definition.
  189.  
  190. Emphasizing Text
  191.  
  192. * emph & strong::               How to emphasize text in LaTeXinfo.
  193. * Smallcaps::                   How to use the small caps font.
  194. * Fonts::                       Various font commands for printed output.
  195.  
  196. Special Insertions
  197.  
  198. * Braces Atsigns Periods::      How to insert braces, `\' and periods.
  199. * dmn::                         How to format a dimension.
  200. * Dots Bullets::                How to insert dots and bullets.
  201. * LaTeX and copyright::         How to insert the LaTeX logo 
  202.                                   and the copyright symbol.
  203. * minus::                       How to insert a minus sign.
  204. * Inserting Characters Verbatim::  
  205.  
  206. Inserting `\', Braces, and Periods
  207.  
  208. * Inserting An Atsign::         
  209. * Inserting Braces::            Inserting `{' and `}'---\{ and \}
  210. * Controlling Spacing::         
  211.  
  212. Inserting Ellipsis, Dots, and Bullets
  213.  
  214. * dots::                        Inserting dots ...
  215. * bullet::                      Inserting a bullet.
  216.  
  217. Inserting LaTeX and the Copyright Symbol
  218.  
  219. * LaTeX::                         Insert the LaTeX logo.
  220. * copyright symbol::            `\copyright'{}
  221.  
  222. Displaying Material
  223.  
  224. * Quotations::                  
  225. * Justifying Text::             
  226. * Display Environments::        
  227. * Examples and Verbatim::       
  228. * Controlling Indentation::     
  229. * cartouche::                   Drawing Cartouches Around Examples
  230. * Special Glyphs::              Special Glyphs for Examples
  231. * Conditionals::                Conditionally Visible Text
  232.  
  233. Quotations
  234.  
  235. * quotation::                   `\begin{quote}'
  236.  
  237. Justifying Text
  238.  
  239. * flushleft & flushright::      Left Justification and Right Justification
  240.  
  241. Left Justification and Right Justification
  242.  
  243. * Center Environment::          
  244.  
  245. Display Environments
  246.  
  247. * display::                     `\begin{display}'
  248. * format::                      `\begin{format}'
  249.  
  250. Examples and Verbatim
  251.  
  252. * example::                     `\begin{example}'
  253. * noindent::                    `\noindent'
  254. * Lisp Example::                `\begin{lisp}'
  255. * Verbatim Environment::        
  256.  
  257. Controlling Indentation
  258.  
  259. * exdent::                      `\exdent': Undoing a Line's Indentation
  260.  
  261. Special Glyphs for Examples
  262.  
  263. * result::                      How to show the result of expression.
  264. * expansion::                   How to indicate an expansion.
  265. * Print Special Glyph::         How to indicate printed output.
  266. * Error Special Glyph::         How to indicate an error message.
  267. * Equivalence::                 How to indicate equivalence.
  268. * Point Special Glyph::         How to indicate the location of point.
  269.  
  270. Conditionally Visible Text
  271.  
  272. * Conditional Commands::        Specifying text for Info or LaTeX.
  273. * Using Ordinary LaTeX Commands::  
  274.  
  275. Making Lists Tables and Descriptions
  276.  
  277. * Introducing Lists::           Formatting is done for you.
  278. * Itemize Environment::         
  279. * enumerate::                   How to construct a numbered list.
  280. * Description Environment::     
  281. * Tabular Environment::         
  282. * Figures and Tables::          
  283.  
  284. Formatting Paragraphs
  285.  
  286. * Breaks::                      Making and Preventing Breaks
  287. * Break Commands::              The Line Breaking Commands
  288. * Page Breaking Commands::      The Page Breaking Commands
  289. * Refilling Paragraphs::        
  290. * Always Refilling Paragraphs::  
  291.  
  292. Making and Preventing Breaks
  293.  
  294. * Break Commands::              Introducing the break commands.
  295. * Line Breaks::                 How to force lines breaks.
  296. * w::                           How to prevent unwanted line breaks. 
  297. * sp::                          How to insert blank lines.
  298. * clearpage::                   How to force the start of a new page.
  299. * same::                        How to prevent unwanted page breaks.
  300. * need::                        Another way to prevent unwanted page breaks.
  301.  
  302. The Line Breaking Commands
  303.  
  304. * Line Breaks::                 `\*': Generate Line Breaks
  305. * w::                           `\w'{TEXT}: Prevent Line Breaks
  306. * sp::                          `\sp' N: Insert Blank Lines
  307.  
  308. The Page Breaking Commands
  309.  
  310. * page::                        Start a New Page
  311. * group::                       Putting things on the Same Page
  312. * need::                        Prevent Page Breaks
  313.  
  314. Citations and Footnotes
  315.  
  316. * Footnotes::                   
  317. * Citations::                   
  318.  
  319. Input and Include Files
  320.  
  321. * Input Files::                 
  322. * Include Files::               
  323.  
  324. Include Files
  325.  
  326. * Using Include Files::         How to use the `\include' command.
  327. * Sample Include File::         A sample outer file with included files
  328.                                   within it; and a sample included file.
  329.  
  330. Definition Commands
  331.  
  332. * Untyped Languages Definition Commands::  
  333. * C Functions::                 
  334. * Abstract Objects::            Object-Oriented Programming
  335. * Sample Function Definition::  A Sample Function Definition
  336.  
  337. Untyped Languages Definition Commands
  338.  
  339. * Def Cmd Template::            How to structure a description using a
  340.                                   definition command.
  341. * Optional Parameters::         How to handle optional and repeated parameters.
  342. * Def Cmds in Detail::          All the definition commands.
  343. * Functions Commands::          Functions and Similar Entities
  344. * Variables Commands::          Variables and Similar Entities
  345.  
  346. The Definition Commands
  347.  
  348. * Functions Commands::          Commands for functions.
  349. * Variables Commands::          Commands for variables.
  350. * Typed Functions::             Commands for functions in typed languages.
  351. * Typed Variables::             Commands for variables in typed languages.
  352. * Abstract Objects::            Commands for object-oriented programming.
  353. * Data Types::                  The definition command for data types.
  354.  
  355. C Functions
  356.  
  357. * Typed Functions::             Functions in Typed Languages
  358. * Typed Variables::             Variables in Typed Languages
  359.  
  360. Object-Oriented Programming
  361.  
  362. * Data Types::                  
  363.  
  364. Nodes and Menus
  365.  
  366. * Node Menu Illustration::      A diagram and sample nodes and menus.
  367. * node::                        The `\node' command in detail.
  368. * Node Names::                  Choosing Node and Pointer Names
  369. * Menu Environment::            
  370. * Other Info Files::            Referring to nodes in other Info files.
  371.  
  372. `\node'
  373.  
  374. * Node Names::                  Choosing node and pointer names.
  375. * Writing a Node::              How to write a node line.
  376.  
  377. Choosing Node and Pointer Names
  378.  
  379. * Writing a Node::              Writing a Node Line
  380.  
  381. Menu Environment
  382.  
  383. * Menu Location::               Put a menu in a short node.
  384. * Menu Item::                   How to write a menu item.
  385. * Menu Example::                A menu example.
  386.  
  387. Making Cross References
  388.  
  389. * References::                  What cross references are for.
  390. * Cross Reference Commands::    A summary of the different commands.
  391. * Cross Reference Parts::       A cross reference has several parts.
  392. * xref::                        Begin a reference with `See' ...
  393. * Top Node Naming::             Naming a `Top' Node
  394. * ref::                         A reference for the last part of a sentence.
  395. * pxref::                       How to write a parenthetical cross reference.
  396. * inforef::                     How to refer to an Info-only file.
  397.  
  398. `\xref'
  399.  
  400. * Reference Syntax::            What a reference looks like and requires.
  401. * One Argument::                `\xref' with one argument.
  402. * Two Arguments::               `\xref' with two arguments.
  403. * Three Arguments::             `\xref' with three arguments.
  404. * Four and Five Arguments::     `\xref' with Four and Five Arguments
  405.  
  406. Creating Indices
  407.  
  408. * Index Entries::               Choose different words for index entries.
  409. * Indexing Commands::           How to make an index entry.
  410. * Combining Indices::           How to combine indices.
  411.  
  412. Defining the Entries of an Index
  413.  
  414. * Declaring indices::           Declaring Indices
  415. * Special Index Entries::       
  416.  
  417. Declaring Indices
  418.  
  419. * Special Index Entries::
  420.  
  421. Creating and Installing an Info File
  422.  
  423. * Creating an Info file::       
  424. * Installing an Info File::     
  425.  
  426. Creating an Info file
  427.  
  428. * latexinfo-format commands::   The `latexinfo-format...' Commands
  429. * Tag and Split Files::         Tag Files and Split Files
  430.  
  431. Tag Files and Split Files
  432.  
  433. * Installing an Info file::
  434. * Extending LaTeXinfo::
  435.  
  436. Installing an Info File
  437.  
  438. * Directory file::              The top level menu for all Info files.
  439. * New Info File::               Listing a new info file.
  440. * Other Info Directories::      How to specify Info files that are 
  441.                                   located in other directories.
  442.  
  443. Using LaTeXinfo Mode
  444.  
  445. * Emacs Editing::               LaTeXinfo mode adds to the usual 
  446.                                   editing commands.
  447. * Inserting::                   How to insert frequently used commands. 
  448. * Showing the Structure::       How to show the structure of a file.
  449. * Updating Nodes and Menus::    How to update or create new nodes and menus.
  450. * Info Formatting::             Formatting for Info.
  451. * Printing::                    How to format and print part or all of a file.
  452. * LaTeXinfo Mode Summary::      Summary of all the LaTeXinfo mode commands.
  453.  
  454. Updating Nodes and Menus
  455.  
  456. * Updating Commands::           Five major updating commands.
  457. * Updating Requirements::       How to structure a LaTeXinfo file for
  458.                                   using the updating command.
  459. * Other Updating Commands::     Indenting descriptions, inserting
  460.                                   missing nodes lines, and updating 
  461.                                   nodes in sequence.
  462. * latexinfo-multiple-files-update::  `latexinfo-multiple-files-update'
  463.  
  464. Printing Hardcopy
  465.  
  466. * How to Print::                How to print a hardcopy manual with
  467.                                   shell commands.
  468. * Printing from Emacs::         How to print from an Emacs shell.
  469. * LaTeXinfo Mode Printing::     How to format and print in LaTeXinfo mode.
  470. * Compile-Command::             How to print using Emacs's compile command.
  471. * Preparing for LaTeX::         Preparing for Use of LaTeX
  472. * Overfull Hboxes::             What are and what to do with overfull hboxes.
  473.  
  474. Catching Formatting Mistakes
  475.  
  476. * Debugging with Info::         How to catch errors with Info formatting.
  477. * Debugging with LaTeX::        How to catch errors with LaTeX formatting.
  478. * Using latexinfo-show-structure::  How to use `latexinfo-show-structure'.
  479. * Using occur::                 How to list all lines containing a pattern.
  480. * Running Info-Validate::       How to find badly referenced nodes.
  481.  
  482. Finding Badly Referenced Nodes
  483.  
  484. * Using Info-validate::         How to run `Info-validate'.
  485. * Unsplit::                     How to create an unsplit file.
  486. * Tagifying::                   How to tagify a file.
  487. * Splitting::                   How to split a file manually.
  488.  
  489. Extending LaTeXinfo
  490.  
  491. * Optional Style Files::        
  492. * LaTeXinfo support for European languages::  
  493. * Writing Your Own Style Files::  
  494.  
  495. Optional Style Files
  496.  
  497. * The fvpindex Style::          
  498. * Clisp Style::                 
  499.  
  500. Commands to be used by the end users
  501.  
  502. * Obsolete Commands::           
  503. * Lower Level Commands and Features::  
  504.  
  505. Installing LaTeXinfo
  506.  
  507. * Compiling LaTeXinfo::         
  508. * Installing the LaTeXinfo Distribution::  
  509.  
  510. Installing the LaTeXinfo Distribution
  511.  
  512. * Installing the Style Files::  
  513.  
  514. Converting Files to LaTeXinfo
  515.  
  516. * Converting LaTeX Files to LaTeXinfo::  
  517. * Converting TeXinfo Files into LaTeXinfo Files::  
  518. * Converting Scribe Files to LaTeXinfo::  
  519.  
  520. Converting LaTeX Files to LaTeXinfo
  521.  
  522. * l2latexinfo.el::              
  523.  
  524. Converting TeXinfo Files into LaTeXinfo Files
  525.  
  526. * Differences from TeXinfo::    
  527.  
  528.  
  529. 
  530. File: latexinfo2.info  Node: Copying, Up: Top, Next: Overview
  531.  
  532. LaTeXinfo Copying Conditions
  533. ****************************
  534.  
  535.  
  536. The programs currently being distributed that relate to LaTeXinfo
  537. include portions of GNU Emacs, plus other separate programs (including
  538. `latexinfo.sty', `latexindex', and `info').  These programs are "free";
  539. this means that everyone is free to use them and free to redistribute
  540. them on a free basis.  The Latexinfo-related programs are not in the
  541. public domain; they are copyrighted and there are restrictions on their
  542. distribution, but these restrictions are designed to permit everything
  543. that a good cooperating citizen would want to do.  What is not allowed
  544. is to try to prevent others from further sharing any version of these
  545. programs that they might get from you.
  546.  
  547.   Specifically, we want to make sure that you have the right to give
  548. away copies of the programs that relate to LaTeXinfo, that you receive
  549. source code or else can get it if you want it, that you can change these
  550. programs or use pieces of them in new free programs, and that you know
  551. you can do these things.
  552.  
  553.   To make sure that everyone has such rights, we have to forbid you to
  554. deprive anyone else of these rights.  For example, if you distribute
  555. copies of the LaTeXinfo related programs, you must give the recipients
  556. all the rights that you have.  You must make sure that they, too,
  557. receive or can get the source code.  And you must tell them their
  558. rights.
  559.  
  560.   Also, for our own protection, we must make certain that everyone finds
  561. out that there is no warranty for the programs that relate to LaTeXinfo.
  562. If these programs are modified by someone else and passed on, we want
  563. their recipients to know that what they have is not what we distributed,
  564. so that any problems introduced by others will not reflect on our
  565. reputation.
  566.  
  567.   The precise conditions of the licenses for the programs currently
  568. being distributed that relate to LaTeXinfo are found in the General
  569. Public Licenses that accompany them.
  570.  
  571. 
  572. File: latexinfo2.info  Node: Overview, Prev: Copying, Up: Top, Next: Using Latexinfo
  573.  
  574. Overview of LaTeXinfo
  575. *********************
  576.  
  577.  
  578. LaTeXinfo (1) (*Note Overview-Footnotes::) is a documentation system
  579. that uses a single source file to produce both on-line help (and other
  580. information) and a printed manual.  This means that instead of writing
  581. two different documents, one providing on-line information and the other
  582. for a printed manual, you need write only one document.  When the system
  583. is revised, you need revise only one document.  You can print the manual
  584. with most laser printers, and you can read the on-line help, known as an
  585. "Info file", with the Info documentation-reading programs.  These
  586. documentation-reading programs are available for use under GNU Emacs,
  587. under X-windows, or for `termcap' based ordinary terminals.
  588.  
  589.  
  590. * Menu:
  591.  
  592. * Using Latexinfo::             Create an normal printed book
  593.                                   or an Info file.
  594. * Advantages of LaTeXinfo over TeXinfo::  
  595. * Info Files::                  What is an Info file?
  596. * Printed Manuals::             Characteristics of a printed manual
  597. * Formatting Commands::         \-commands are used for formatting.
  598. * A Short Sample LaTeXinfo File::  
  599.  
  600.  
  601.  
  602. 
  603. File: latexinfo2.info  Node: Overview-Footnotes, Up: Overview
  604.  
  605. (1) Note that the first syllable of "texinfo" is pronounced like
  606. "speck", not "hex".  This odd pronunciation is derived from LaTeX, in
  607. which the `X' is actually the Greek letter "chi" rather than the
  608. English letter "ex" (the `T' and
  609. `E' are Greek letters also, but they happen to be pronounced the
  610. same way in Greek as in English).
  611. 
  612. File: latexinfo2.info  Node: Using Latexinfo, Prev: Overview, Up: Overview, Next: Advantages of LaTeXinfo over TeXinfo
  613.  
  614. Using Latexinfo
  615. ===============
  616.  
  617.  
  618.  
  619. Using LaTeXinfo, you can create a printed document with the normal
  620. features of a book, including chapters, sections, cross references, and
  621. indices.  From the same LaTeXinfo source file, you can create a
  622. menu-driven, on-line Info file with nodes, menus, cross references, and
  623. indices.  You can, if you wish, make the chapters and sections of the
  624. printed document correspond to the nodes of the on-line information, and
  625.  use the same cross references and indices for both the Info file and
  626. the printed document.
  627.  
  628. To make a printed manual, process a LaTeXinfo source file with the LaTeX
  629. typesetting program.  This creates a dvi file that you can typeset and
  630. print as a book.  To create an Info file, you process a LaTeXinfo source
  631. file with Emacs's `latexinfo-format-buffer' command; this creates an
  632. Info file that you can install on-line.
  633.  
  634. Info works with almost every type of computer terminal; similarly, LaTeX
  635. works with many types of printer.  This power makes LaTeXinfo a general
  636. purpose system, but brings with it a constraint, which is that a
  637. LaTeXinfo file may contain only the customary "typewriter" characters
  638. (letters, numbers, spaces, and punctuation marks) but no special
  639. graphics.
  640.  
  641. A LaTeXinfo file is a plain ascii file containing text and "\-commands"
  642. (words preceded by an `\') that tell the typesetting and formatting
  643. programs what to do.  You may edit a LaTeXinfo file with any text
  644. editor; but it is especially convenient to use GNU Emacs since that
  645. editor has a special mode, called LaTeXinfo mode, that provides various
  646. LaTeXinfo-related features.  (*Note LaTeXinfo Mode::.)
  647.  
  648. Before writing a LaTeXinfo source file, you should become familiar with
  649. the Info documentation reading program and learn about nodes, menus,
  650. cross references, and the rest.  On Unix systems, these programs are
  651. called `info' for terminals, and `xinfo' for systems with X-Windows.
  652. (*Note info: (info)Top, for more information.)
  653.  
  654. LaTeXinfo creates both on-line help and a printed manual; moreover, it
  655. is freely redistributable.
  656.  
  657. 
  658. File: latexinfo2.info  Node: Advantages of LaTeXinfo over TeXinfo, Prev: Using Latexinfo, Up: Overview, Next: Info Files
  659.  
  660. Advantages of LaTeXinfo over TeXinfo
  661. ====================================
  662.  
  663.  
  664. Documentation for GNU utilities and libraries is usually written in a
  665. format called "TeXinfo".  This document describes an enhancement
  666. of this format which can be used with LaTeX instead of TeX.
  667.  
  668. LaTeXinfo offers a number of advantages over TeXinfo:
  669.  
  670.   1. The point size or layout style of a document can be changed easily,
  671.      using the `documentstyle' (article, report, book, twoside, ...).
  672.      
  673.   2. LaTeX has better error checking than TeX files, especially in
  674.      begin/end environments.  In addition, the LaTeX error messages are more
  675.      informative.  This makes it considerably easier to make extensions and
  676.      enhancements (read hacks).
  677.      
  678.   3. LaTeX delimits its arguments with braces, so it's easier to tell where
  679.      a LaTeXinfo command starts, and where it ends.  TeXinfo has to stand on
  680.      its head to avoid using TeX's braces.
  681.      
  682.   4. Any LaTeX commands not understood by the on-line manual generator
  683.      (`latexinfo.el') are simply ignored.  This means that you are free to add
  684.      a considerable number of LaTeX commands to make you manual look pretty,
  685.      as long as you don't care that there will be no action taken by the 
  686.      Info formatting program.
  687.      
  688.   5. It is easy to add your own extensions to the on-line manual generator
  689.      by making GNU Emacs handlers for your LaTeX extensions.  This is
  690.      the Emacs counterpart to the `documentstyle' options.  LaTeXinfo looks
  691.      in a specified directory for GNU Elisp code that corresponds to each
  692.      style file.  This makes it easy to modularize your style files.
  693.      
  694.   6. LaTeX has many advantages over TeX, such as being able to easily
  695.      incorporate the BibTeX bibliography formatting program.
  696.  
  697.  
  698. 
  699. File: latexinfo2.info  Node: Info Files, Prev: Advantages of LaTeXinfo over TeXinfo, Up: Overview, Next: Printed Manuals
  700.  
  701. Info files
  702. ==========
  703.  
  704.  
  705. A LaTeXinfo file can be transformed into a printed manual and an on-line Info
  706. file.
  707.  
  708. An on-line Info file is a file formatted so that the Info documentation
  709. reading program can operate on it.  Info files are divided into pieces
  710. called "nodes", each of which contains the discussion of one topic.
  711. Each node has a name, and contains both text for the user to read and
  712. pointers to other nodes, which are identified by their names.  The Info
  713. program displays one node at a time, and provides commands with which
  714. the user can move to the other related nodes.  *Note info: (info)Top,
  715. for more information about using Info.
  716.  
  717. Each node of an Info file may have any number of child nodes that
  718. describe subtopics of the node's topic.  The names of these child nodes,
  719. if any, are listed in a "menu" within the parent node; this allows you
  720. to use certain Info commands to move to one of the child nodes.
  721. Generally, a LaTeXinfo file is organized like a book.  If a node is at
  722. the logical level of a chapter, its child nodes are at the level of
  723. sections; likewise, the child nodes of sections are at the level of
  724. subsections.
  725.   
  726. All the children of any one parent are linked together in a
  727. bidirectional chain of `Next' and `Previous' pointers.  This means that
  728. all the nodes that are at the level of sections within a chapter are
  729. linked together.  Normally the order in this chain is the same as the
  730. order of the children in the parent's menu.  Each child node records the
  731. parent node name, as its `Up' pointer.  The last child has no `Next'
  732. pointer, and the first child has the parent both as its `Previous' and
  733. as its `Up' pointer. (2) (*Note Info Files-Footnotes::)
  734.  
  735. The book-like structuring of an Info file into nodes that correspond to
  736. chapters, sections, and the like is a matter of convention, not a
  737. requirement.  The `Up', `Previous', and `Next' pointers of a node can
  738. point to any other nodes, and a menu can contain any other nodes.  Thus,
  739. the node structure can be any directed graph.  But it is usually more
  740. comprehensible to follow a structure that corresponds to the structure
  741. of chapters and sections in a printed manual.
  742.  
  743. In addition to `Next', `Previous', and `Up' pointers and menus, Info
  744. provides cross--references, that can be sprinkled throughout the text.
  745. This is usually the best way to represent links that do not fit a
  746. hierarchical structure.  Usually, you will design a document so that its
  747. nodes match the structure of chapters and sections in the printed
  748. manual.  But there are times when this is not right for the material
  749. being discussed.  Therefore, LaTeXinfo uses separate commands to specify
  750. the node structure of the Info file and the section structure of the
  751. printed manual.
  752.  
  753. Generally, you enter an Info file through a node that by convention is
  754. called `Top'.  This node normally contains just a brief summary of the
  755. file's purpose, and a large menu through which the rest of the file is
  756. reached.  From this node, you can either traverse the file
  757. systematically by going from node to node, or you can go to a specific
  758. node listed in the main menu, or you can search the index menus and then
  759. go directly to the node that has the information you want.
  760.  
  761.  
  762. 
  763. File: latexinfo2.info  Node: Info Files-Footnotes, Up: Info Files
  764.  
  765. (2) In some documents, the first child has no `Previous' pointer.
  766. Occasionally, the last child has the node name of the next following
  767. higher level node as its `Next' pointer.
  768. 
  769. File: latexinfo2.info  Node: Printed Manuals, Prev: Info Files, Up: Overview, Next: Formatting Commands
  770.  
  771. Printed Manuals
  772. ===============
  773.  
  774.  
  775. A LaTeXinfo file can be formatted and typeset as a printed manual.  To
  776. do this, you need to use LaTeX, a powerful, sophisticated typesetting
  777. program written by Leslie Lamport, based on the TeX typesetting system
  778. written by by Donald Knuth.  A LaTeXinfo-based printed manual will be
  779. similar to any other book; it will have a title page, copyright page,
  780. table of contents, and preface, as well as chapters, numbered or
  781. unnumbered sections and subsections, page headers, cross references,
  782. footnotes, and indices.
  783.  
  784. You can use LaTeXinfo to write a book without ever having the intention
  785. of converting it into on-line information.  You can use LaTeXinfo for
  786. writing a printed novel, and even to write a printed memo.
  787.  
  788. LaTeX is a general purpose typesetting program.  LaTeXinfo provides a
  789. file called `latexinfo.sty' that contains information (definitions or
  790. "macros") that LaTeX uses when it typesets a LaTeXinfo file.  (The
  791. macros tell LaTeX how to convert the LaTeXinfo \-commands to LaTeX
  792. commands, which LaTeX can then process to create the typeset document.)
  793. LaTeX allows you to customize the design of your document by selecting
  794. different document styles and options.  You can readily change the style
  795. in which the printed document is formatted; for example, you can change
  796. the sizes and fonts used, the amount of indentation for each paragraph,
  797. the degree to which words are hyphenated, and the like.  By changing the
  798. specifications, you can make a book look dignified, old and serious, or
  799. light-hearted, young and cheery. See the LaTeX Manual for more details
  800. [Lamport1986].
  801.  
  802. LaTeX is freely distributable.  It is written in a dialect of Pascal
  803. called WEB and can be compiled either in Pascal or (by using a
  804. conversion program that comes with the LaTeX distribution) in C.  (*Note
  805. TeX Mode: (emacs)TeX Mode, for information about LaTeX.)
  806.  
  807. LaTeX is very powerful and has a great many features.  Because a
  808. LaTeXinfo file must be able to present information both on a
  809. character-only terminal in Info form and in a typeset book, the
  810. formatting commands that LaTeXinfo supports are necessarily limited.
  811. However, you are free to use any LaTeX extensions as long as you don't
  812. mind them being ignored by the Info formatting program.  Or you can
  813. write your own extensions to the Info formatting program.  *Note
  814. Extending LaTeXinfo::.
  815.  
  816. 
  817. File: latexinfo2.info  Node: Formatting Commands, Prev: Printed Manuals, Up: Overview, Next: A Short Sample LaTeXinfo File
  818.  
  819. \-commands
  820. ==========
  821.  
  822.  
  823. In a LaTeXinfo file, the commands that tell LaTeX how to typeset the
  824. printed manual and tell `latexinfo-format-buffer' how to create an Info
  825. file are preceded by `\'; they are called "\-commands".  For example,
  826. `\node' is the command to indicate a node and `\chapter' is the command
  827. to indicate the start of a chapter.
  828.  
  829. ------------------------------------------------------------------------
  830.      Most of the \-commands, with a few exceptions such as `\LaTeX{}',
  831.      must be written entirely in lower case.
  832.  
  833. ------------------------------------------------------------------------
  834.  
  835. The LaTeXinfo \-commands are a limited subset of LaTeX.  The limits make
  836. it possible for LaTeXinfo files to be understood both by LaTeX and by
  837. the code that converts them into Info files.  This is because you have
  838. to be able to display Info files on any terminal that displays
  839. alphabetic and numeric characters.
  840.  
  841. Because LaTeXinfo is an extension of LaTeX, it is assumed in this
  842. manual that you are familiar with LaTeX.  There is a good reference
  843. manual available by the author [Lamport1986], and there are several
  844. beginner's introduction manuals alos available.  You should read these
  845. first before trying to use LaTeXinfo.
  846.  
  847. Unlike LaTeX, all ASCII printing characters except `\',
  848. `{' and `}' can appear in body text in a LaTeXinfo file
  849. and stand for themselves.  This means that the characters `# $ % ^
  850. & _ |' all print as normal characters.  This is for several reasons.
  851. Firstly, LaTeXinfo is designed for documenting computer programs,
  852. where these characters are used quite often.  Secondly, the special uses
  853. in LaTeX of some of these characters, such as math mode, are not used
  854. in LaTeXinfo, so there is little point in making then special.  And
  855. finally, because there is only one character in
  856. LaTeXinfo that starts a command (`\'), it is easier to
  857. implement the Info formating program, without making a complete 
  858. implementation of LaTeX.
  859.  
  860. *Note Using Ordinary LaTeX Commands::, for how to make 
  861. LaTeXinfo treat these characters as LaTeX does.
  862.  
  863. 
  864. File: latexinfo2.info  Node: A Short Sample LaTeXinfo File, Prev: Formatting Commands, Up: Overview, Next: A Short Sample LaTeXinfo File
  865.  
  866. A Short Sample LaTeXinfo File
  867. =============================
  868.  
  869.  
  870. A LaTeXinfo file looks like the following, which is a complete but very
  871. short LaTeXinfo file.  The `\comment' or `\c' command
  872. introduces comments that will not appear in either the Info file or the
  873. printed manual; they are for the person who reads the LaTeXinfo file.
  874.  
  875. The first part of the file, from `\documentstyle' through to
  876. `\setfilename', looks more intimidating than it is.  Most of the
  877. material is standard boilerplate; when you write a manual, you just put
  878. in the name of your own manual in this section.
  879.  
  880. All the commands that tell LaTeX how to typeset the printed manual and
  881. tell `latexinfo-format-buffer' how to create an Info file are preceded
  882. by `\'; thus, `\node' indicates a node and `\chapter' indicates the
  883. start of a chapter.
  884.  
  885. \documentstyle[11pt,latexinfo]{book}
  886.  
  887. \begin{document}
  888.  
  889. \c Declare which indices you want to make use of.
  890. \newindex{cp}
  891. \c Declare the bibliography style you want for BibTeX.
  892. \bibliographystyle{alpha}
  893. \c No ugly overfull black boxes.
  894. \finalout
  895. \c \refill automatically.
  896. \alwaysrefill
  897.  
  898. \c Anything before the \setfilename will not appear in the Info file.
  899. \setfilename{plisp.info}
  900.  
  901. \c Start the stuff for the titlepage.
  902.  
  903. \title{The PLisp Manual}
  904.  
  905. \author{Fred Foobar,\\
  906.         Clarke Institute,\\
  907.         999 Queen Street,\\
  908.         Toronto, Ontario}
  909.  
  910. \date{\today}
  911. \maketitle
  912.  
  913. \c The following commands start the copyright page for the printed manual.
  914. \clearpage
  915. \vspace*{0pt plus 1filll}
  916. Copyright \copyright{} year copyright-owner
  917.  
  918. Permission is granted to copy and distribute modified versions of this
  919. document under the conditions for verbatim copying, provided that the entire
  920. resulting derived work is distributed under the terms of a permission
  921. notice identical to this one.
  922.  
  923. \c End the Copyleft page and don't use headings on this page.
  924. \pagestyle{empty}
  925. \clearpage
  926. \pagestyle{headings}
  927.  
  928. \c Use roman numerals for the page numbers and Insert the Table of Contents.
  929. \pagenumbering{roman}
  930. \tableofcontents
  931.  
  932. \c End the Table of Contents
  933. \clearpage
  934.  
  935. \c Make a list of tables if you have any
  936. \listoftables
  937. \clearpage
  938.  
  939. \c The Top node contains the master menu for the Info file.
  940. \c This appears only in the Info file, not the printed manual.
  941. \node    Top,       First Chapter, (dir),    (dir)
  942.  
  943. \c A preface or overview to give the structure of the document.
  944. \chapter*{Preface}
  945.  
  946. \clearpage
  947. \c Start numbering from 1 with Arabic numbers
  948. \pagenumbering{arabic}
  949.  
  950. \begin{menu}
  951. * First Chapter::    The first chapter is the 
  952.                      only chapter in this sample.
  953. \end{menu}
  954.  
  955. \node First Chapter, Concept Index, Top, Top
  956. \chapter{First Chapter}
  957. \cindex{Reference to First Chapter}
  958.  
  959. This is the contents of the first chapter. 
  960. Here is a numbered list.
  961.  
  962. \begin{enumerate}
  963. \item
  964. This is the first item.
  965.  
  966. \item
  967. This is the second item.
  968. \end{enumerate}
  969.  
  970. The \kbd{M-x latexinfo-format-buffer} command transforms a LaTeXinfo file
  971. like this into an Info file; and \LaTeX\ typesets it for a printed manual.
  972.  
  973. \bibliography{plisp.bib}
  974.  
  975. \twocolumn
  976. \node Concept Index, Top, First Chapter, Top
  977. \unnumbered{Concept Index}
  978.  
  979. \printindex{cp}
  980.  
  981. \end{document}
  982.  
  983. Here is what the contents of the first chapter of the sample look like:
  984.  
  985.      
  986.      
  987.      This is the contents of the first chapter. 
  988.      
  989.      Here is a numbered list.
  990.      
  991.        1. This is the first item.
  992.           
  993.        2. This is the second item.
  994.      
  995.      
  996.      The `M-x latexinfo-format-buffer' command in Emacs transforms a LaTeXinfo
  997.      file like this into an Info file; and LaTeX typesets it for a printed manual.
  998.  
  999.  
  1000.  
  1001. The Structure of this Manual
  1002. ============================
  1003.  
  1004.  
  1005. This manual is structured in four parts:
  1006.  
  1007. LaTeX     
  1008.       This introduces the LaTeX commands that are supported by
  1009.      LaTeXinfo.  This includes topic such as chapter structuring, marking
  1010.      words and phrases, displayed material, making lists tables and
  1011.      descriptions, formatting paragraphs, citations and footnotes.
  1012.      
  1013. Info     
  1014.       This introduces the concept of the `\node', and
  1015.      the specific requirements of the Info formatting program.  This includes
  1016.      nodes and menus, making cross references, creating indices, and creating
  1017.      and installing an info file.
  1018.      
  1019. Emacs     
  1020.      
  1021.      This part show how to run LaTeX and Info to generate the printed and
  1022.      on--line versions of the manual. It also describes how Emacs can make
  1023.      your life easier when writing LaTeXinfo programs.
  1024.      
  1025. Appendices     
  1026.       
  1027.      The appendices describe how to install LaTeXinfo, how to convert files
  1028.      from other formats to LaTeXinfo, and gives a summary of all of the
  1029.      commands.
  1030.      
  1031.  
  1032.  
  1033. 
  1034. File: latexinfo2.info  Node: Beginning a File, Prev: A Short Sample LaTeXinfo File, Up: Top, Next: Conventions
  1035.  
  1036. Beginning a LaTeXinfo File
  1037. **************************
  1038.  
  1039.  
  1040. * Menu:
  1041.  
  1042. * Conventions::                 General Syntactic Conventions
  1043. * Minimum::                     What a LaTeXinfo File Must Have
  1044. * Six Parts::                   Six Parts of a LaTeXinfo File
  1045. * The LaTeXinfo File Header::   
  1046. * The Title and Copyright Pages::  
  1047. * Generating a Table of Contents::  
  1048. * The Top Node::                Creating the top node and master menu.
  1049. * Software Copying Conditions::  
  1050. * Ending a File::               Ending a LaTeXinfo File
  1051.  
  1052.  
  1053. 
  1054. File: latexinfo2.info  Node: Conventions, Prev: Beginning a File, Up: Beginning a File, Next: Comments
  1055.  
  1056. General Syntactic Conventions
  1057. =============================
  1058.  
  1059.  
  1060. All ascii printing characters except `\', `{' and `}' can appear in a
  1061. LaTeXinfo file and stand for themselves.  `\' is the escape character
  1062. which introduces commands.  `{' and `}' should be used only to surround
  1063. arguments to certain commands.  To put one of these special characters
  1064. into the document, put an `\' character in front of it, like this:
  1065. `\back', `\{', and `\}'.
  1066.  
  1067. It is customary in LaTeX to use doubled single-quote characters to begin
  1068. and end quotations: `` and '.  This convention should be followed in
  1069. LaTeXinfo files.  LaTeX converts doubled single-quote characters to
  1070. left- and right-hand doubled quotation marks, "like this," and Info
  1071. converts doubled single-quote characters to ascii double-quotes: `` and
  1072. '' to `"'. *Note Inserting Characters Verbatim:: for how to protect
  1073. sections of documentation from these global substitutions.
  1074.  
  1075. Use three hyphens in a row, `---', for a dash---like this.  In LaTeX, a
  1076. single or even a double hyphen produces a printed dash that is shorter
  1077. than you want.  Info reduces three hyphens to two for display on the
  1078. screen.
  1079.  
  1080. LaTeX ignores the line-breaks in the input text, except for blank lines,
  1081. which separate paragraphs.  Info generally preserves the line breaks
  1082. that are present in the input file.  Therefore, break the lines in the
  1083. LaTeXinfo file the way you want them to appear in the output Info file,
  1084. and let LaTeX take care of itself.  Since Info does not normally refill
  1085. paragraphs when it processes them, a line with commands in it will
  1086. sometimes look bad after Info has run on it.  To cause Info to refill
  1087. the paragraph after finishing with the other processing, you need to put
  1088. the command `\refill' at the end of the paragraph.  (*Note Refilling
  1089. Paragraphs::.)
  1090.  
  1091. If you mark off a region of the LaTeXinfo file with the `\begin{iftex}' and `\end{iftex}' commands, that region
  1092. will appear only in the printed copy; in that region, you can use
  1093.  commands borrowed from LaTeX that you cannot use in Info.  Likewise,
  1094. if you mark off a region with the `\begin{ifinfo}' and
  1095. `\end{ifinfo}' commands, that region will appear only in the
  1096. Info file; in that region, you can use Info commands that you cannot use
  1097. in LaTeX.  (*Note Conditionals::.)
  1098.  
  1099.      
  1100.      *Caution:* Do not use tabs in examples in a LaTeXinfo file!  LaTeX
  1101.      treats them like single spaces. (3) (*Note Conventions-Footnotes::)
  1102.  
  1103.  
  1104. * Menu:
  1105.  
  1106. * Comments::                    
  1107.  
  1108.  
  1109. 
  1110. File: latexinfo2.info  Node: Conventions-Footnotes, Up: Conventions
  1111.  
  1112. (3) To avoid putting tabs into your file, you can set the
  1113. `indent-tabs-mode' variable in Emacs to `nil' so that Emacs inserts
  1114. multiple spaces when you press the TAB key.  Also, you can run
  1115. `untabify' to convert tabs in a region to multiple spaces.
  1116.  
  1117. 
  1118. File: latexinfo2.info  Node: Comments, Prev: Conventions, Up: Conventions, Next: Minimum
  1119.  
  1120. Comments
  1121. --------
  1122.  
  1123.  
  1124. You can write comments in a LaTeXinfo file that will not appear in
  1125. either the Info file or the printed manual by using the `\comment'
  1126. command (which may be abbreviated to `\c').  Such comments are for the
  1127. person who reads the LaTeXinfo file.  All the text on a line that
  1128. follows either `\comment' or `\c' is a comment; the rest of the line
  1129. does not appear in either the Info file or the printed manual.  (The
  1130. `\comment' or `\c' does not have to be at the beginning of the line;
  1131. only the text on the line that follows after the `\comment' or `\c'
  1132. command does not appear.)
  1133.  
  1134. You can write long stretches of text that will not appear in either the
  1135. Info file or the printed manual by using the `\begin{ignore}' and
  1136. `\end{ignore}' commands.  Write each of these commands on a line of its
  1137. own, starting each command at the beginning of the line.  Text between
  1138. these two commands does not appear in the processed output.  You can use
  1139. `\begin{ignore}' and `\end{ignore}' for writing comments or for holding
  1140. text you may wish to use in another version of your document.  Often,
  1141. `\begin{ignore}' and `\end{ignore}' is used to enclose a part of the
  1142. copying permissions that applies to the LaTeXinfo source file of a
  1143. document, but not to the Info or printed version of the document.
  1144.  
  1145. 
  1146. File: latexinfo2.info  Node: Minimum, Prev: Comments, Up: Beginning a File, Next: Six Parts
  1147.  
  1148. What a LaTeXinfo File Must Have
  1149. ===============================
  1150.  
  1151.  
  1152. In order to be made into a printed manual, a LaTeXinfo file *must*
  1153. begin with lines that looks like
  1154.  
  1155. \documentstyle[12pt,latexinfo]{book}
  1156. \pagestyle{headings}
  1157.  
  1158. \begin{document}
  1159.  
  1160. \setfilename{latexinfo.info}
  1161.  
  1162. The `\documentstyle[12pt,latexinfo]{book}' line tells
  1163. LaTeX to use the 
  1164. `latexinfo.sty' style and `book.sty' documentstyle
  1165. files.  The `\pagestyle{headings}' command is the LaTeXto put the chapter and section headings and page numbers at the
  1166. top of each page.  The `\begin{document}' command starts the
  1167. document, and makes the characters `# $ % ^ & _ |' all begin to
  1168. print as normal characters.  (These characters retain their normal
  1169. LaTeX meanings in the preamble between the `\documentstyle'
  1170. and `\begin{document}' commands.) This line must be followed
  1171. (sooner or later) by the `\setfilename{INFO-FILE-NAME}'. It is needed to provide a name for
  1172. the Info file to output to. The `\setfilename' command
  1173. *must* occur at the beginning of a line.  The
  1174.      
  1175.      `\end{document}'
  1176.  
  1177.  line at the end of the file on a line of its own tells LaTeX that the
  1178. file is ended and to stop typesetting.
  1179.  
  1180. Usually, you won't use quite such a spare format, but will include mode
  1181. setting and index declarations at the beginning of a LaTeXinfo file,
  1182. like this:
  1183.  
  1184. \documentstyle[12pt,latexinfo]{book}
  1185. \pagestyle{headings}
  1186.  
  1187. \begin{document}
  1188.  
  1189. \newindex{cp}
  1190. \bibliographystyle{alpha}
  1191.  
  1192. \finalout
  1193. \alwaysrefill
  1194. \setfilename{latexinfo.info}
  1195.  
  1196. Furthermore, you will usually provide a LaTeXinfo file with a title
  1197. page, master menu, and the like.  But the minimum, which can be useful
  1198. for short documents, is just the three lines at the beginning and the
  1199. one line at the end.
  1200.  
  1201. 
  1202. File: latexinfo2.info  Node: Six Parts, Prev: Minimum, Up: Beginning a File, Next: The LaTeXinfo File Header
  1203.  
  1204. Six Parts of a LaTeXinfo File
  1205. =============================
  1206.  
  1207.  
  1208. Various pieces of information have to be provided to LaTeXinfo at the
  1209. beginning of a LaTeXinfo file, such as the name of the file, the title
  1210. of the document and the like.  If you want to get elaborate, the
  1211. beginning of a LaTeXinfo file has six parts:
  1212.  
  1213.   1. The preamble, which includes the command to tell LaTeX what style files to
  1214.      use when processing the file.  This starts with the `\documentstyle',
  1215.      and is terminated by the `\begin{document}' command.
  1216.      
  1217.   2. The header, which  is terminated by the `\setfilename' command
  1218.      that contains the LaTeXinfo options needed to tailor your output to
  1219.      your needs.
  1220.      
  1221.   3. The title page and the copyright page, which usually are set without
  1222.      any page numbers (`\pagestyle{empty').  This is terminated by the
  1223.      `\maketitle' command.
  1224.      
  1225.   4. Then the table of contents, list of figures and tables, and possibly a
  1226.      preface, which are usually set with roman page numbers (`\pagestyle{headings}' and `\pagenumbering{roman').
  1227.      
  1228.   5. The `Top' node that contains an extensive menu for the whole Info file.
  1229.      This is written with the `\node' command, with a nodename of
  1230.      `Top'.  The contents of this node should only appear in the Info file.
  1231.      
  1232.   6. The beginning of the text, which is set with 
  1233.      `\pagenumbering{arabic'), and a chapter or section command.
  1234.  
  1235.  
  1236. For a a short sample latexinfo file, see the file `lnfo-sample.tex'
  1237. which is supplied with the LaTeXinfo distribution.
  1238.  
  1239. 
  1240. File: latexinfo2.info  Node: The LaTeXinfo File Header, Prev: Six Parts, Up: Beginning a File, Next: The Documentstyle
  1241.  
  1242. The LaTeXinfo File Header
  1243. =========================
  1244.  
  1245.  
  1246. LaTeXinfo files start with at least three lines that provide Info and 
  1247. LaTeX  with necessary information.  
  1248.  
  1249. \documentstyle[12pt,latexinfo]{book}
  1250. \begin{document}
  1251. \setfilename{foo.info}
  1252.  
  1253.  
  1254. * Menu:
  1255.  
  1256. * The Documentstyle::           
  1257. * setfilename::                 `\setfilename'
  1258. * New Indexes::                 
  1259. * Custom Headings::             Customizing Your Layout
  1260.  
  1261.  
  1262. 
  1263. File: latexinfo2.info  Node: The Documentstyle, Prev: The LaTeXinfo File Header, Up: The LaTeXinfo File Header, Next: setfilename
  1264.  
  1265. The Documentstyle
  1266. -----------------
  1267.  
  1268.  
  1269. Every LaTeXinfo file that is to be the top-level input to LaTeX must
  1270. begin with a line that looks like this:
  1271.  
  1272. \documentstyle[12pt,latexinfo]{book}
  1273.  
  1274. When the file is processed by LaTeX, it loads the macros listed as
  1275. options to the `documentstyle' command.  The option
  1276. `latexinfo' is needed for processing a LaTeXinfo file, and
  1277. LaTeX will then input the file `latexinfo.sty';
  1278. *Note Preparing for LaTeX::.  
  1279.  
  1280. Unlike TeXinfo, you can also include other options that may also include
  1281. style files.  These LaTeXinfo style files may have an Emacs counterpart, so
  1282. that you can extend LaTeXinfo by writing your own styles.
  1283. *Note Extending LaTeXinfo::, for more information on writing your own
  1284. styles.  Also look in the inputs directory of your TeX distribution for
  1285. other LaTeX styles that are provided with TeX.
  1286.  
  1287. ------------------------------------------------------------------------
  1288.      The region of the file between the `\documentstyle' and the
  1289.      `\begin{document}' commands is know in LaTeX as the 
  1290.      "preamble".  Only certain LaTeX commands are allowed there,
  1291.      and you'll need to consult the LaTeX manual for the list of 
  1292.      allowed commands.   It is best to put your commands that modify your
  1293.      LaTeX commands in the region between the `\begin{document}'
  1294.      and the `\setfilename'; they will be ignored by Info, and
  1295.      LaTeX will not object.
  1296.  
  1297. ------------------------------------------------------------------------
  1298.  
  1299. 
  1300. File: latexinfo2.info  Node: setfilename, Prev: The Documentstyle, Up: The LaTeXinfo File Header, Next: New Indexes
  1301.  
  1302. `\setfilename'
  1303. --------------
  1304.  
  1305.  
  1306. It is important to note that the `\setfilename' command is required for
  1307. Info. In order to be made into an Info file, a LaTeXinfo file must
  1308. contain a line that looks like this:
  1309.  
  1310.      
  1311.      \setfilename{INFO-FILE-NAME}
  1312.  
  1313.  
  1314. Write the `\setfilename' command at the beginning of a line followed by
  1315. the Info file name.
  1316.  
  1317. The `\setfilename' line specifies the name of the Info file to be
  1318. generated.  Specify the name with an `.info' extension, to produce an
  1319. Info file name such as `latexinfo.info'.
  1320.  
  1321. Any text that appears before the `\setfilename' command is not
  1322. included in the Info file.  So if you want to include the `title'
  1323. and `author' material, place the `\setfilename' command
  1324. before them; if not, after them.
  1325.  
  1326. This region, between the `\begin{document}' command and the
  1327. `\setfilename' command is known as the header, and should
  1328. contain any of the commands that alter the overall style of your document.
  1329.  
  1330. 
  1331. File: latexinfo2.info  Node: New Indexes, Prev: setfilename, Up: The LaTeXinfo File Header, Next: Custom Headings
  1332.  
  1333. New Indexes
  1334. -----------
  1335.  
  1336.  
  1337. In order to generate any of the indices, you must declare them with the
  1338. `\newindex' command, before it is first used by one of the index
  1339. commands.  This is usually done after the `\begin{document}'
  1340. but before the `\setfilename'.
  1341.  
  1342. `newindex' takes one argument, which is the two letter index type.  For
  1343. example, to declare a concept and function index, you would use
  1344.  
  1345. \documentstyle[12pt,latexinfo]{book}
  1346.  
  1347. \begin{document}
  1348. \newindex{cp}
  1349. \newindex{fn}
  1350. \setfilename{plisp.info}
  1351.  
  1352. *Note Declaring indices::, for the declaring indices and the definitions of the index types.
  1353.  
  1354. 
  1355. File: latexinfo2.info  Node: Custom Headings, Prev: New Indexes, Up: The LaTeXinfo File Header, Next: paragraphindent
  1356.  
  1357. Customizing Your Layout
  1358. -----------------------
  1359.  
  1360.  
  1361. You may, if you wish, create your own, customized headings and footings.
  1362. The `\markboth' and `\markright' commands are both supported in
  1363. LaTeXinfo.  These should occur on a line by themselves.  See
  1364. [Lamport1986, Section 5.1], for a detailed discussion of this process.
  1365.  
  1366. The `\oddfoot' and `\evenfoot' commands specifiy the
  1367. odd and even page footings respectively.  These should occur on a line
  1368. by themselves.
  1369.  
  1370. At the beginning of a manual or book, pages are not numbered---for
  1371. example, the title and copyright pages of a book are not numbered.  To
  1372. accomplish this, use the command
  1373. \pagestyle{empty}
  1374. as shown in the sample file, `lnfo-sample.tex'.
  1375.  
  1376. By convention, table of contents pages are numbered with roman numerals
  1377. and not in sequence with the rest of the document.  To accomplish this,
  1378. use the commands
  1379. \pagestyle{headings}
  1380. \pagenumbering{roman}
  1381. as shown in the sample file, `lnfo-sample.tex'.
  1382.  
  1383. Since an Info file does not have pages, the `\markboth', `\markright',
  1384. `pagestyle' and `pagenumbering' commands have no effect on it.  The
  1385. lines containing these commands will be deleted from the Info file.
  1386.  
  1387. The `\footnotestyle' command to specify an Info file's
  1388. footnote style. *Note Footnotes:: for how to use this command.
  1389.  
  1390. * Menu:
  1391.  
  1392. * paragraphindent::             Paragraph Indenting
  1393.  
  1394.  
  1395. 
  1396. File: latexinfo2.info  Node: paragraphindent, Prev: Custom Headings, Up: Custom Headings, Next: The Title and Copyright Pages
  1397.  
  1398. Paragraph Indenting
  1399. ...................
  1400.  
  1401.  
  1402. The Info formatting commands may insert spaces at the beginning of the
  1403. first line of each paragraph, thereby indenting that paragraph.  The
  1404. `\paragraphindent' command specifies the indentation.  Write
  1405. `\paragraphindent' at the beginning of a line followed by either `asis'
  1406. or a number in braces.  The template is:
  1407.  
  1408.      
  1409.      \paragraphindent{INDENT}
  1410.  
  1411.  
  1412. The Info formatting commands indent according to the value of INDENT:
  1413.  
  1414.    * If the value of INDENT is `asis', the Info formatting commands do
  1415.      not change the existing indentation.
  1416.      
  1417.    * If the value of INDENT is 0, the Info formatting commands delete
  1418.      existing indentation.
  1419.      
  1420.    * If the value of INDENT is greater than 0, the Info formatting
  1421.      commands indent the paragraph by that number of spaces.
  1422.  
  1423.  
  1424. The default value of INDENT is `asis'.
  1425.  
  1426. Write the `\paragraphindent' command before the `setfilename' command at
  1427. the beginning of a LaTeXinfo file.
  1428.  
  1429. The `latexinfo-format-buffer' and `latexinfo-format-region' commands do
  1430. *not* automatically indent paragraphs.  These commands only indent
  1431. paragraphs that are ended by an `\refill' command.  (*Note Always
  1432. Refilling Paragraphs::, for how to avoid this.)  *Note Refilling
  1433. Paragraphs::, for more information about `\refill'.
  1434.  
  1435.  
  1436. 
  1437. File: latexinfo2.info  Node: The Title and Copyright Pages, Prev: paragraphindent, Up: Beginning a File, Next: Titlepage
  1438.  
  1439. The Title and Copyright Pages
  1440. =============================
  1441.  
  1442.  
  1443. * Menu:
  1444.  
  1445. * Titlepage::                   
  1446. * The Copyright Page and Printed Permissions::  
  1447.  
  1448.  
  1449. 
  1450. File: latexinfo2.info  Node: Titlepage, Prev: The Title and Copyright Pages, Up: The Title and Copyright Pages, Next: The Copyright Page and Printed Permissions
  1451.  
  1452. Titlepage
  1453. ---------
  1454.  
  1455.  
  1456. The first printed material after the `\begin{document}' will make up the
  1457. titlepage.  The LaTeX commands `\title', `\author' and `\date' are used
  1458. the same way as in any LaTeX report or book.  The title page is
  1459. terminated by `\maketitle'. Following the material for the title page
  1460. should be the copyright page.
  1461.  
  1462. \title{The PLisp Manual}
  1463.  
  1464. \author{Fred Foobar,\\
  1465.         Clarke Institute}
  1466.  
  1467. \date{\today}
  1468. \maketitle
  1469.  
  1470. The `\title' command produces a line in which the title is set centered
  1471. on the page in a larger than normal font.  You can have many lines in
  1472. the title by using `\\' to force a newline.
  1473.  
  1474. The `\author' command sets the names of the author or authors in a
  1475. middle-sized font, centered on the page.
  1476.  
  1477. The `\date' command sets the date in a middle-sized font, centered on
  1478. the page.  You can put the date in yourself, or use the `\today'
  1479. command, which will put in the date that the document is processed on.
  1480.  
  1481. The `\maketitle' command sets the author, title and date, and in
  1482. the `book' documentstyle, emitts a new page.  The should be no other
  1483. printing text between the `documentstyle' command and the
  1484. `maketitle' command.
  1485.  
  1486. In a `book' style, text is printed on both sides of the paper, chapters
  1487. start on right-hand pages, and right-hand pages have odd numbers.  But
  1488. in a `report' style, text is printed only on one side of the paper
  1489. unless the `twoside' LaTeX option is provided to the `documentstyle'
  1490. command.
  1491.  
  1492.  
  1493.  
  1494. 
  1495. File: latexinfo2.info  Node: The Copyright Page and Printed Permissions, Prev: Titlepage, Up: The Title and Copyright Pages, Next: Generating a Table of Contents
  1496.  
  1497. The Copyright Page and Printed Permissions
  1498. ------------------------------------------
  1499.  
  1500.  
  1501. This part of the beginning of a LaTeXinfo file contains the text of
  1502. the copying permissions that will appear in the manual.  This is usually
  1503. followed by the `\tableofcontents' command.  If you put title
  1504. and copyright pages before the `\setfilename' command, then
  1505. this material will only appear only in the printed manual, not in the
  1506. Info file.
  1507.  
  1508. By international treaty, the copyright notice for a book should be
  1509. either on the title page or on the back of the title page.  The
  1510. copyright notice should include the year followed by the name of the
  1511. organization or person who owns the copyright.
  1512.  
  1513. The following commands start the copyright page for the printed manual.
  1514.  
  1515. \maketitle
  1516. \clearpage
  1517. \vspace*{0pt plus 1filll}
  1518. Copyright \copyright{} year copyright-owner
  1519.  
  1520. Permission is granted to copy and distribute modified versions of this
  1521. document under the conditions for verbatim copying, provided that the entire
  1522. resulting derived work is distributed under the terms of a permission
  1523. notice identical to this one.
  1524.  
  1525. \pagestyle{empty}
  1526. \clearpage
  1527.  
  1528. When the copyright notice is on the back of the title page, the page is
  1529. not numbered.  Therefore, this is usually done while a
  1530. `\pagestyle{empty}' is in effect. See the LaTeX Manual for more details
  1531. on the `pagestyle' command [Lamport1986].
  1532.  
  1533. To cause a page break, the `\clearpage' command is used.  In the sample,
  1534. the `\clearpage' that ends the titlepage is followed by the somewhat
  1535. mysterious line that reads: `\vspace*{0pt plus 1filll}'.  This is a line
  1536. that uses LaTeX commands to push the copyright notice and the other text
  1537. on the copyright page towards the bottom of the page.  The `\vspace*'
  1538. command means to put in white space.  The `0pt plus 1filll' means to put
  1539. in zero points of mandatory white space, and as much optional white
  1540. space as needed.  Note the use of three `l's in the word `filll'; this
  1541. is the correct use in LaTeX.
  1542.  
  1543. The `\copyright' command generates a `c' inside a circle.
  1544. The copyright notice itself has the following legally defined sequence: 
  1545.  
  1546.      
  1547.      Copyright (C) YEAR COPYRIGHT-OWNER
  1548.  
  1549.  
  1550. It is customary to put information on how to get a manual after the
  1551. copyright notice (the address of the Free Software Foundation, for
  1552. example) and the permissions. 
  1553.  
  1554. When you write a manual about a computer program, you should write the
  1555. version of the program to which the manual applies on the title page.
  1556. If the manual changes more frequently than the program or is independent
  1557. of it, you should also include an edition number (4) (*Note The
  1558. Copyright Page and Printed Permissions-Footnotes::) for the manual.
  1559. This helps readers keep track of which manual is for which version of
  1560. the program.
  1561.  
  1562. *Note Sample Permissions::, for recommended permission text.
  1563.  
  1564. 
  1565. File: latexinfo2.info  Node: The Copyright Page and Printed Permissions-Footnotes, Up: The Copyright Page and Printed Permissions
  1566.  
  1567. (4) We have found that it is helpful to refer to versions of manuals as
  1568. `editions' and versions of programs as `versions'; otherwise, we find we
  1569. are liable to confuse each other in conversation by referring to both
  1570. the documentation and the software with the same words.
  1571.  
  1572. 
  1573. File: latexinfo2.info  Node: Generating a Table of Contents, Prev: The Copyright Page and Printed Permissions, Up: Beginning a File, Next: The Top Node
  1574.  
  1575. Generating a Table of Contents
  1576. ==============================
  1577.  
  1578.  
  1579. The commands `\chapter', `\section', etc., supply the
  1580. information to make up a table of contents, but they do not cause an actual
  1581. table to be generated.  To do this, you must use the 
  1582. `\tableofcontents' command.
  1583.  
  1584. The table of contents command outputs (into a printed manual) a complete
  1585. table of contents, based on the `\chapter', `\section' and other
  1586. sectioning commands.  This command should be used on a line by itself.
  1587. This command automatically generates a Table of Contents heading at the
  1588. top of the page.  Tables of contents should be generated at the
  1589. beginning of the manual, usually just after the `\maketitle' command or
  1590. copyright pages.
  1591.  
  1592. You can also use the `\listoftables' command to make a listing
  1593. of all of the tables in the document.  *Note Figures and Tables::, for how
  1594. to define tables.
  1595.  
  1596. \pagestyle{empty}
  1597. \clearpage
  1598. \pagestyle{headings}
  1599. \pagenumbering{roman}
  1600. \tableofcontents
  1601. \clearpage
  1602.  
  1603. \c Make a list of tables if you have any
  1604. \listoftables
  1605. \clearpage
  1606.  
  1607. Since an Info file uses menus instead of tables of contents, the Info
  1608. formatting commands ignore the `\tableofcontents' and `\listoftables'
  1609. commands.
  1610.  
  1611.  
  1612. 
  1613. File: latexinfo2.info  Node: The Top Node, Prev: Generating a Table of Contents, Up: Beginning a File, Next: Title of Top Node
  1614.  
  1615. The Top Node and Master Menu
  1616. ============================
  1617.  
  1618.  
  1619. The `Top' node is the node at which you enter the file when browing the
  1620. Info file with one of the Info browsing programs.
  1621.  
  1622. A `Top' node should contain a brief description of the file and an
  1623. extensive, master menu for the whole Info file.  The contents of
  1624. anything other than the master menu should appear only in the Info file;
  1625. none of it should appear in printed output, so enclose it between
  1626. `\begin{ifinfo}' and `\end{ifinfo}' commands.  LaTeX does not print
  1627. either an `\node' line or a menu; they appear only in Info, so you do
  1628. not have to enclose these parts between `\begin{ifinfo}' and
  1629. `\end{ifinfo}'.  *Note Conditionally Visible Text: Conditionals.)
  1630.  
  1631. * Menu:
  1632.  
  1633. * Title of Top Node::           A Top node needs a title.
  1634. * Master Menu Parts::           A master menu has three or more parts.
  1635.  
  1636.  
  1637. 
  1638. File: latexinfo2.info  Node: Title of Top Node, Prev: The Top Node, Up: The Top Node, Next: Master Menu Parts
  1639.  
  1640. Top Node Title
  1641. --------------
  1642.  
  1643.  
  1644.  
  1645. For example, the beginning of the Top node of a manual might like this:
  1646.  
  1647.      
  1648.      
  1649.      ...
  1650.      \tableofcontents
  1651.      \clearpage
  1652.      
  1653.      \begin{ifinfo}
  1654.      \node Top, Copying, (dir), (dir)
  1655.      
  1656.      LaTeXinfo is a documentation system...
  1657.      
  1658.      This is edition...
  1659.      \end{ifinfo}
  1660.      
  1661.      \begin{menu}
  1662.      * Copying::                 LaTeXinfo is freely redistributable.
  1663.      * Overview::                What is LaTeXinfo?...
  1664.      \end{menu}
  1665.      
  1666.  
  1667.  
  1668. In a `Top' node, the `Previous', and `Up' nodes usually refer to the top
  1669. level directory of the whole Info system, which is called `(dir)'.
  1670. *Note Installing an Info File::, for more information about the `dir'
  1671. Info file in the `info' directory.
  1672.  
  1673.  
  1674. 
  1675. File: latexinfo2.info  Node: Master Menu Parts, Prev: Title of Top Node, Up: The Top Node, Next: Software Copying Conditions
  1676.  
  1677. Parts of a Master Menu
  1678. ----------------------
  1679.  
  1680.  
  1681. A "master menu" is a detailed main menu listing all the nodes in a file.
  1682. A master menu is enclosed in `\begin{menu}' and `\end{menu}' commands
  1683. and does not appear in the printed document.  Generally, a master menu
  1684. is divided into parts.
  1685.  
  1686.    * The first part contains the major nodes in the LaTeXinfo file: the
  1687.      nodes for the chapters, chapter-like sections, and the appendices.
  1688.      
  1689.    * The second part contains nodes for the indices.
  1690.      
  1691.    * The third and subsequent parts contain a listing of the other,
  1692.      lower level nodes, often ordered by chapter.  This way, rather than
  1693.      go through an intermediary menu, an inquirer can go directly to a
  1694.      particular node when searching for specific information.  These
  1695.      menu items are not required; add them if you think they are a
  1696.      convenience.
  1697.  
  1698.  
  1699. Each section in the menu can be introduced by a descriptive line.  So
  1700. long as the line does not begin with an asterisk, it will not be treated
  1701. as a menu item.  (*Note Menu Environment::, for more information.)
  1702.  
  1703. For example, the master menu for a manual might look like the following:
  1704.  
  1705.  
  1706.      
  1707.      
  1708.      \begin{menu}
  1709.      * Copying::             LaTeXinfo is freely 
  1710.                                redistributable.
  1711.      * Overview::            What is LaTeXinfo?
  1712.      * LaTeXinfo Mode::        Special features in GNU Emacs.
  1713.      ...
  1714.      ...
  1715.      * Command and Variable Index::    
  1716.                              An item for each \-command.
  1717.      * Concept Index::       An item for each concept.
  1718.      
  1719.       --- The Detailed Node Listing ---
  1720.      
  1721.      Overview of LaTeXinfo
  1722.      
  1723.      * Info Files::          What is an Info file?
  1724.      * Printed Manuals::     Characteristics of 
  1725.                                a printed manual.
  1726.      ...
  1727.      ...
  1728.      
  1729.      Using LaTeXinfo Mode
  1730.      
  1731.      * Info on a Region::    Formatting part of a file 
  1732.                                for Info.
  1733.      ...
  1734.      ...
  1735.      \end{menu}
  1736.      
  1737.  
  1738.  
  1739. 
  1740. File: latexinfo2.info  Node: Software Copying Conditions, Prev: Master Menu Parts, Up: Beginning a File, Next: Sample Permissions
  1741.  
  1742. Software Copying Conditions
  1743. ===========================
  1744.  
  1745.  
  1746. If the LaTeXinfo file has a section containing the distribution
  1747. information and a warranty disclaimer for the software that is being
  1748. documented, this section usually follows the `Top' node.  The General
  1749. Public License is very important to Project GNU software.  It ensures
  1750. that you and others will continue to have a right to use and share the
  1751. software.
  1752.  
  1753. The copying and distribution information and the disclaimer are usually
  1754. followed by a preface, or else by the first chapter of the manual.
  1755.  
  1756. Although a preface is not a required part of a LaTeXinfo file, it is
  1757. very helpful.  Ideally, it should state clearly and concisely what the
  1758. file is about and who would be interested in reading it.  In general,
  1759. the preface would follow the licensing and distribution information,
  1760. although sometimes people put it earlier in the document.  Usually, a
  1761. preface is put in an `\chapter*' type of section.  (*Note Chapter::.)
  1762.  
  1763. * Menu:
  1764.  
  1765. * Sample Permissions::          
  1766. * Titlepage Permissions::       Titlepage Copying Permissions
  1767.  
  1768.  
  1769. 
  1770. File: latexinfo2.info  Node: Sample Permissions, Prev: Software Copying Conditions, Up: Software Copying Conditions, Next: Titlepage Permissions
  1771.  
  1772. Sample Permissions
  1773. ------------------
  1774.  
  1775.  
  1776. LaTeXinfo files should contain sections that tell the readers that they
  1777. have the right to copy and distribute the Info file, the printed
  1778. manual, and any accompanying software.  Here are samples containing
  1779. the standard text of the Free Software Foundation copying permission
  1780. notice for an Info file and printed manual.
  1781.  
  1782. *Note Distribution: (emacs)Distrib, for an example of the text that
  1783. could be used in the software Distribution, General Public License, and
  1784. NO WARRANTY sections of a document.
  1785.  
  1786. * Menu:
  1787.  
  1788. * Inserting Permissions::       How to put permissions in your document.
  1789. * ifinfo Permissions::          Sample `ifinfo' copying permissions.
  1790. * Titlepage Permissions::       Sample Titlepage copying permissions.
  1791.  
  1792.  
  1793. 
  1794. File: latexinfo2.info  Node: Titlepage Permissions, Prev: Sample Permissions, Up: Software Copying Conditions, Next: Ending a File
  1795.  
  1796. Titlepage Copying Permissions
  1797. -----------------------------
  1798.  
  1799.  
  1800. In the copyright section of the LaTeXinfo file, the standard Free
  1801. Software Foundation copying permission notice follows the copyright
  1802. notice and publishing information.  The standard phrasing is:
  1803.  
  1804.      
  1805.      Permission is granted to make and distribute verbatim
  1806.      copies of this manual provided the copyright notice and
  1807.      this permission notice are preserved on all copies.
  1808.      
  1809.      Permission is granted to copy and distribute modified
  1810.      versions of this manual under the conditions for
  1811.      verbatim copying, provided also that the sections
  1812.      entitled "Distribution" and "General Public License"
  1813.      are included exactly as in the original, and provided
  1814.      that the entire resulting derived work is distributed
  1815.      under the terms of a permission notice identical to this
  1816.      one.
  1817.      
  1818.      Permission is granted to copy and distribute
  1819.      translations of this manual into another language, under
  1820.      the above conditions for modified versions, except that
  1821.      the sections entitled "Distribution" and "General
  1822.      Public License" may be included in a translation
  1823.      approved by the author instead of in the original
  1824.      English.
  1825.  
  1826.  
  1827. 
  1828. File: latexinfo2.info  Node: Ending a File, Prev: Titlepage Permissions, Up: Beginning a File, Next: Making a Bibliography
  1829.  
  1830. Ending a LaTeXinfo File
  1831. =======================
  1832.  
  1833.  
  1834. The end of a LaTeXinfo file should include the commands that create the
  1835. bibliography, and the indices.  It must include the `\end{document}'
  1836. command that marks the last line that LaTeX processes. For example, a
  1837. LaTeXinfo file might be ended as follows:
  1838.  
  1839. For example,
  1840.  
  1841.  \bibliography{latexinfo}
  1842.  
  1843.  \twocolumn
  1844.  \node Concept Index,     , Previous Node, Top
  1845.  \unnumbered{Concept Index}
  1846.  \cindex{Concept Index}
  1847.  
  1848.  \printindex{cp}
  1849.  
  1850.  \end{document}
  1851.  
  1852. The `\end{document}' command should be on a line by itself and every
  1853. LaTeXinfo file must end with such a line.  This command terminates LaTeX
  1854. processing and forces out unfinished pages.
  1855.  
  1856. * Menu:
  1857.  
  1858. * Making a Bibliography::       
  1859. * Printing an Index and Generating Menus::  Printing an index and generating index menus.
  1860. * File End::                    Ending a file with `\end{document}'.
  1861.  
  1862.  
  1863. 
  1864. File: latexinfo2.info  Node: Making a Bibliography, Prev: Ending a File, Up: Ending a File, Next: Printing an Index and Generating Menus
  1865.  
  1866. Making a Bibliography
  1867. ---------------------
  1868.  
  1869.  
  1870. You may also choose to include a bibliography of citations in the
  1871. document, using the `\cite' command .  Citations are prepared using the
  1872. program BibTeX, which formats the citations for use with LaTeX.  See the
  1873. LaTeX Manual for more details in BibTeX [Lamport1986, Appendix B].
  1874.  
  1875. Before you use the `\cite' command, you must declare the
  1876. bibliography style that you are going to use.  This is usually done at
  1877. the beginning of the document, for example
  1878.  
  1879. \begin{document}
  1880. \bibliographystyle{alpha}
  1881.  
  1882. At the end of the document comes the bibliography itself.  
  1883. The `\bibliography' takes as an argument a comma separated list
  1884. of filenames that contain the bibliography entries.
  1885.  
  1886. \bibliography{latexinfo}
  1887.  
  1888. With these two sections in your document, you can use the `\cite'
  1889. command to refer to the bibliography.  For example
  1890.  
  1891. a citation of the GNU Emacs Manual \cite{GNUEmacsManual}\dots
  1892.  
  1893. would produce
  1894.  
  1895.      
  1896. a citation of the GNU Emacs Manual [GNUEmacsManual]...
  1897.  
  1898. and would cause an entry to be put in the Bibliography section something
  1899. like
  1900.  
  1901. Sta86     
  1902.      
  1903.      Richard Stallman. The GNU Emacs Manual,
  1904.      The Free Software Foundation, 675 Massachusetts Ave., Cambridge MA,
  1905.      02139, 1986.
  1906.  
  1907.  
  1908. *Note Citations::, for how to use citations in the document.
  1909.  
  1910. 
  1911. File: latexinfo2.info  Node: Printing an Index and Generating Menus, Prev: Making a Bibliography, Up: Ending a File, Next: File End
  1912.  
  1913. Index Menus and Printing an Index
  1914. ---------------------------------
  1915.  
  1916.  
  1917. Using LaTeXinfo, you can generate printed indices and Info file menus without
  1918. having to sort and collate entries manually.  LaTeXinfo will do this for you
  1919. automatically.  Each index covers a certain kind of entry (functions, or
  1920. variables, or concepts, etc.) and lists all of those entries in
  1921. alphabetical order, together with information on how to find the discussion
  1922. of each entry.  In a printed manual, this information consists of page
  1923. numbers.  In an Info file, it consists of a menu item leading to the first
  1924. node where the entry is defined.
  1925.  
  1926. To print an index means to include it as part of a manual or Info file.
  1927. This does not happen automatically just because you use `\cindex' or
  1928. other index-entry generating commands in the LaTeXinfo file; those just
  1929. cause the raw data for the index to be accumulated.  To generate an
  1930. index, you must include the `\printindex' command at the place in the
  1931. document where you want the index to appear, and declare the index at
  1932. the beginning of the document with the `\newindex' command.  Also, as
  1933. part of the process of creating a printed manual, you must run a program
  1934. called `latexindex' (*Note Printing Hardcopy::) to sort the raw data to
  1935. produce a sorted index file.  The sorted index file is what will
  1936. actually be used to print the index.
  1937.  
  1938. Like typesetting, the construction of an index is a highly skilled,
  1939. professional art, the subtleties of which are not appreciated until you
  1940. have to do it yourself.  LaTeXinfo offers six different types of
  1941. predefined index: the concept index, the function index, etc.  (*Note
  1942. Creating Indices::.)  Each index type has a two-letter name.  You may
  1943. merge indices, or put them into separate sections (*Note Combining
  1944. Indices::.).
  1945.  
  1946. The `\printindex' command does not generate a chapter heading for the
  1947. index.  Consequently, you should precede the `\printindex' command with
  1948. a suitable section or chapter command (usually `\unnumbered') to supply
  1949. the chapter heading and put the index into the table of contents.
  1950. Precede the `\unnumbered' command with an `\node' line.  Also, if you
  1951. want the index to be set in two-column mode, then you should precede the
  1952. index with the LaTeX{\twocolumn} command.  You can switch back to
  1953. one-column mode with the LaTeX `\onecolumn' command.  For example,
  1954.  
  1955.  \twocolumn
  1956.  \node Command Index, Concept Index, The Last Section, Top
  1957.  \unnumbederd{Command Index}
  1958.  \cindex{Command Index}
  1959.  
  1960.  \printindex{fn}
  1961.  
  1962.  \onecolumn
  1963.  \node Concept Index,Top,   Command Index, Top
  1964.  \unnumbered{Concept Index}
  1965.  \cindex{Concept Index}
  1966.  
  1967.  \printindex{cp}
  1968.  
  1969.  \end{document}
  1970.  
  1971. (Readers often prefer that the concept index come last in a book, since
  1972. that makes it easiest to find.)
  1973.  
  1974.  
  1975. 
  1976. File: latexinfo2.info  Node: File End, Prev: Printing an Index and Generating Menus, Up: Ending a File, Next: Structuring
  1977.  
  1978. `\end{document}' File Ending
  1979. ----------------------------
  1980.  
  1981.  
  1982. An `\end{document}' command terminates LaTeX or Info formatting.  None
  1983. of the formatting commands see any of the file following
  1984. `\end{document}'.  The `\end{document}' command should be on a line by
  1985. itself.
  1986.  
  1987. Optionally, you may follow an `\end{document}' line with a local
  1988. variables list.  *Note Using Local Variables and the Compile Command:
  1989. Compile-Command, for more information.
  1990.  
  1991. 
  1992. File: latexinfo2.info  Node: Structuring, Prev: File End, Up: Top, Next: Tree Structuring
  1993.  
  1994. Chapter Structuring
  1995. *******************
  1996.  
  1997.  
  1998. The chapter structuring commands divide a document into a hierarchy of
  1999. chapters, sections, subsections, and subsubsections.  These commands
  2000. generate large headings; they also provide information for the table of
  2001. contents of a printed manual.
  2002.  
  2003. The chapter structuring commands do not create an Info node structure,
  2004. so normally you should put an `\node' command immediately before each
  2005. chapter structuring command (*Note Nodes and Menus: Nodes and Menus.).
  2006. The only time you are likely to use the chapter structuring commands
  2007. without using the node structuring commands is if you are writing a
  2008. document that contains no cross references and will never be transformed
  2009. into Info format.
  2010.  
  2011. * Menu:
  2012.  
  2013. * Tree Structuring::            A manual is like an upside down tree ...
  2014. * Structuring Command Types::   How to divide a manual into parts.
  2015. * Chapter::                     
  2016. * Appendix::                    
  2017. * Section::                     
  2018. * Subsection::                  
  2019. * Subsubsection::               Commands for the lowest level sections.
  2020.  
  2021.  
  2022. 
  2023. File: latexinfo2.info  Node: Tree Structuring, Prev: Structuring, Up: Structuring, Next: Structuring Command Types
  2024.  
  2025. Tree Structure of Sections
  2026. ==========================
  2027.  
  2028.  
  2029. A LaTeXinfo file is usually structured like a book with chapters,
  2030. sections, subsections, and the like.  This structure can be visualized
  2031. as a tree (or rather as an upside-down tree) with the root at the top
  2032. and the levels corresponding to chapters, sections, subsection, and
  2033. subsubsections.  In Info format, `Next' and `Previous' pointers of a
  2034. node usually lead to other nodes at the same level; an `Up' pointer
  2035. usually leads to a node at the level above; and a `Menu' leads to nodes
  2036. at a level below.  Cross references can point to nodes at any level.
  2037. *Note Cross References::.
  2038.  
  2039. Here is a diagram that shows a LaTeXinfo file with three chapters, each
  2040. of which has two sections.
  2041.  
  2042.      
  2043.      
  2044.                                top
  2045.                                 |
  2046.               -------------------------------------
  2047.              |                  |                  |
  2048.           Chapter 1          Chapter 2          Chapter 3
  2049.              |                  |                  |
  2050.           --------           --------           --------
  2051.          |        |         |        |         |        |         
  2052.       Section  Section   Section  Section   Section  Section
  2053.         1.1      1.2       2.1      2.2       3.1      3.2
  2054.      
  2055.  
  2056.  
  2057. In a LaTeXinfo file that has this structure, the beginning of Chapter 2
  2058. might look like this:
  2059.  
  2060.      
  2061.       
  2062.       \node    Chapter 2,  Chapter 3, Chapter 1, top
  2063.       \chapter{Chapter 2}
  2064.      
  2065.  
  2066.  
  2067. To get to Sections 2.1 and 2.2, you need a menu inside of Chapter 2 that
  2068. says:
  2069.  
  2070.  \begin{menu}
  2071.  * Sect. 2.1::    Description of this section.
  2072.  * Sect. 2.2::  
  2073.  \end{menu}
  2074.  
  2075. This menu is located inside Chapter 2, after the beginning of the chapter,
  2076. just before Section 2.1.
  2077.  
  2078. Usually, a `\node' command and a chapter structuring command are
  2079. used in sequence, along with indexing commands.  For example, the node for
  2080. the chapter on Ending a LaTeXinfo File looks like this:
  2081.  
  2082.  \node Ending a LaTeXinfo File, Structuring, Beginning a LaTeXinfo File, Top
  2083.  \chapter{Ending a LaTeXinfo File}
  2084.  \cindex{Ending a LaTeXinfo File}
  2085.  \cindex{LaTeXinfo file ending}
  2086.  \cindex{File ending}
  2087.  
  2088. The `\node' command is the only one in LaTeXinfo where the
  2089. arguments are not delineated by braces.  The arguments are separated by
  2090. commas, and are terminated at the end of the line.  This is because
  2091. the Info format itself requires the `node' arguments to be like
  2092. this.  Note that it also means that you cannot use a comma within any
  2093. of the four arguments to the node command.
  2094.  
  2095. The chapter structuring commands are described in the sections that
  2096. follow; the `\node' and `\begin{menu}' commands are described in a
  2097. following chapter (*Note Nodes and Menus::).
  2098.  
  2099. 
  2100. File: latexinfo2.info  Node: Structuring Command Types, Prev: Tree Structuring, Up: Structuring, Next: Chapter
  2101.  
  2102. Types of Structuring Command
  2103. ============================
  2104.  
  2105.  
  2106. There are four chapter-structuring commands for chapters, sections,
  2107. subsections and subsubsections.  The optional heading argument of LaTeX
  2108. to these commands is not supported.  You should avoid the use of any
  2109. LaTeX commands in the headings: any such commands should be preceded by
  2110. a `\protect'.  See the LaTeX Manual for more details [Lamport1986].
  2111.  
  2112. * Menu:
  2113.  
  2114. * Chapter::
  2115. * Appendix::
  2116. * Section::
  2117. * Subsection::
  2118. * Subsubsection::
  2119. * Node::
  2120. * Menu Environment::
  2121.  
  2122.  
  2123. 
  2124. File: latexinfo2.info  Node: Chapter, Prev: Structuring Command Types, Up: Structuring, Next: Appendix
  2125.  
  2126. Chapter
  2127. =======
  2128.  
  2129.  
  2130. `\chapter' identifies a chapter in the document.  It is
  2131. followed by a single argument:
  2132.  
  2133.  \chapter{Node and Chapter Structuring}
  2134.  
  2135. In LaTeX, it creates a chapter in the document, specifying the chapter
  2136. title.  The chapter will be numbered automatically in the printed
  2137. manual.  In the Info file, `\chapter' causes its argument to appear on a
  2138. line by itself, with a line of asterisks inserted underneath.  For
  2139. example:
  2140.  
  2141.      
  2142.      This is a Chapter
  2143.      *****************
  2144.  
  2145.  
  2146. To start a chapter without it being numbered, use the `\unnumbered' command.  To start a chapter without it being numbered
  2147. or appearing in the table of contents, use the `\chapter*' command.
  2148.  
  2149. In the printed manual, the chapters will begin on a new page.  If you want
  2150. the chapters to appear on the odd--sided pages, use the `book'
  2151. documentstyle.
  2152.  
  2153. 
  2154. File: latexinfo2.info  Node: Appendix, Prev: Chapter, Up: Structuring, Next: Section
  2155.  
  2156. Appendix
  2157. ========
  2158.  
  2159.  
  2160. `\appendix' is the same as the LaTeX command of the same name.
  2161. In a printed manual, all chapters that follow this command are numbered
  2162. differently in the table of contents: they are given a letter instead of a
  2163. number, and the letters restart from `A'.
  2164.  
  2165. 
  2166. File: latexinfo2.info  Node: Section, Prev: Appendix, Up: Structuring, Next: Subsection
  2167.  
  2168. Section
  2169. =======
  2170.  
  2171.  
  2172. `\section' is like `\chapter' except that in LaTeX it makes a section
  2173. rather than a chapter.  (*Note Chapter::.)  Sections go within chapters.
  2174. In the Info file, `\chapter' and `\section' differ only in that
  2175. `\section' underlines with `='.  For example,
  2176.  
  2177.      
  2178.      This is a section
  2179.      =================
  2180.  
  2181.  
  2182. To start a section without it being numbered, use the `\unnumberedsec' command.  To start a section without it being numbered or
  2183. appearing in the table of contents, use the `\section*'
  2184. command.
  2185.  
  2186. 
  2187. File: latexinfo2.info  Node: Subsection, Prev: Section, Up: Structuring, Next: Subsubsection
  2188.  
  2189. Subsection
  2190. ==========
  2191.  
  2192.  
  2193. Subsections are to sections as sections are to chapters. (*Note
  2194. Section::.)  They are underlined with `-'.  For example,
  2195.  
  2196.      
  2197.      This is a subsection
  2198.      --------------------
  2199.  
  2200.  
  2201. To start a subsection without it being numbered, use the `\
  2202. unnumberedsubsec' command.  To start a subsection without it being
  2203. numbered or appearing in the table of contents, use the `\subsection*'
  2204. command.
  2205.  
  2206. 
  2207. File: latexinfo2.info  Node: Subsubsection, Prev: Subsection, Up: Structuring, Next: Marking Text
  2208.  
  2209. Subsubsection
  2210. =============
  2211.  
  2212.  
  2213. Subsubsections are to subsections as subsections are to sections.
  2214. (*Note Subsection::.)  They are underlined with periods.  For example,
  2215.  
  2216.      
  2217.      This is a subsubsection
  2218.      .......................
  2219.  
  2220.  
  2221. To start a subsubsection without it being numbered, use the `\
  2222. unnumberedsubsubsec' command.  To start a subsubsection without it being
  2223. numbered or appearing in the table of contents, use the
  2224. `\subsubsection*' command.
  2225.  
  2226. 
  2227. File: latexinfo2.info  Node: Marking Text, Prev: Subsubsection, Up: Top, Next: Indicating
  2228.  
  2229. Marking Words and Phrases
  2230. *************************
  2231.  
  2232.  
  2233. In LaTeXinfo, you can mark words and phrases in a variety of ways.
  2234. These ways specify, for example, whether a word or phrase is a defining
  2235. occurrence, a metasyntactic variable, or a symbol used in a program.
  2236. Also, you can use fonts to emphasize text.
  2237.  
  2238. In addition, there are special commands for inserting single characters 
  2239. that have special meaning in LaTeXinfo, such as braces, and for inserting
  2240. symbols with special handling, such as dots and bullets.  Finally, there
  2241. are ways to emphasize words.
  2242.  
  2243.  
  2244. * Menu:
  2245.  
  2246. * Indicating::                  Indicating Definitions, Commands, etc.
  2247. * Emphasis::                    Emphasizing Text
  2248. * Insertions::                  Special Insertions
  2249.  
  2250.  
  2251. 
  2252. File: latexinfo2.info  Node: Indicating, Prev: Marking Text, Up: Marking Text, Next: code
  2253.  
  2254. Indicating Definitions, Commands, etc.
  2255. ======================================
  2256.  
  2257.  
  2258. LaTeXinfo has commands for indicating just what kind of object a piece
  2259. of text refers to.  Metasyntactic variables, for example, are marked by
  2260. `\var' and code by `\code'.  LaTeXinfo uses this information to
  2261. determine how to highlight the text.  Since the pieces of text are
  2262. labelled by commands that tell what kind of object they are, it is easy
  2263. to change the way LaTeXinfo formats such text.
  2264.  
  2265. For example, code is usually illustrated in a typewriter font, but it
  2266. would be easy to change the way LaTeXinfo highlights code to use another
  2267. font.  This change would not effect how keystroke examples are
  2268. highlighted.  If straight typesetting commands were used in the body of
  2269. the file and you wanted to make a change, you would have to check every
  2270. single occurrence to make sure that you were changing code and not
  2271. something else that should not be changed.
  2272.  
  2273. * Menu:
  2274.  
  2275. * code::                        How to indicate code.
  2276. * kbd::                         How to show keyboard input.
  2277. * key::                         How to specify keys.
  2278. * Ctrl::                        
  2279. * samp::                        How to show a literal sequence of characters.
  2280. * var::                         How to indicate a metasyntactic variable.
  2281. * file::                        How to indicate the name of a file.
  2282. * dfn::                         How to specify a definition.
  2283.  
  2284.  
  2285. The highlighting commands can be used to generate useful information
  2286. from the file, such as lists of functions or file names.  It is
  2287. possible, for example, to write a LaTeXinfo style to insert an index
  2288. entry after every paragraph that contains words or phrases marked by a
  2289. specified command.  You could do this to construct an index of functions
  2290. automatically; *Note The fvpindex Style:: for an example.
  2291.  
  2292.  
  2293. The font changing commands commands serve a variety of purposes:
  2294.  
  2295. \code{SAMPLE-CODE}     
  2296.      
  2297.      Indicate text that is a literal example of a piece of a program.
  2298.      
  2299. \kbd{KEYBOARD-CHARACTERS}     
  2300.      
  2301.      Indicate keyboard input.
  2302.      
  2303. \key{KEY-NAME}     
  2304.      
  2305.      Use for the conventional name for a key on a keyboard.
  2306.      
  2307. \samp{TEXT}     
  2308.      
  2309.      Indicate text that is a literal example of a sequence of
  2310.      characters.
  2311.      
  2312. \var{METASYNTACTIC-VARIABLE}     
  2313.      
  2314.      Indicate a metasyntactic variable.
  2315.      
  2316. \file{FILE-NAME}     
  2317.      
  2318.      Indicate the name of a file.
  2319.      
  2320. \dfn{TERM}     
  2321.      
  2322.      Use for the introductory or defining use of a term.
  2323.      
  2324. \ctrl{CTRL-CHAR}     
  2325.      
  2326.      Use for an ascii control character.
  2327.  
  2328.  
  2329. 
  2330. File: latexinfo2.info  Node: code, Prev: Indicating, Up: Indicating, Next: kbd
  2331.  
  2332. `\code'{SAMPLE-CODE}
  2333. --------------------
  2334.  
  2335.  
  2336. Use the `\code' command to indicate text that is a piece of a program
  2337. and which consists of entire syntactic tokens.  Enclose the text in
  2338. braces.
  2339.  
  2340. Thus, you should use `\code' for an expression in a program, for the
  2341. name of a variable or function used in a program, or for a keyword.
  2342. Also, you should use `\code' for the name of a program, such as `diff',
  2343. that is a name used in the machine. (You should write the name of a
  2344. program in the ordinary text font if you regard it as a new English
  2345. word, such as `Emacs' or `Bison'.)
  2346.  
  2347. Use `\code' for the `TEXINPUTS' environment variable and
  2348. other such variables.
  2349.  
  2350. Do not use the `\code' command for a string of characters shorter than a
  2351. syntactic token.  In particular, you should not use the `\code' command
  2352. when writing about the characters used in a token; do not, for example,
  2353. use `\code' when you are explaining what letters or printable symbols
  2354. can be used in the names of functions.  (Use `\samp'.)  Also, you should
  2355. not use `\code' to mark text that is considered input to programs unless
  2356. the input is written in a language that is like a programming language.
  2357. For example, you should not use `\code' for the single character
  2358. commands of GNU Emacs (use `\kbd' instead) although you may use `\code'
  2359. for the names of the Emacs Lisp functions that the keyboard commands
  2360. invoke.
  2361.  
  2362. In the printed manual, `\code' causes LaTeX to typeset the argument in a
  2363. typewriter face.  In the Info file, it causes the Info formatting
  2364. commands to use `...' quotation.  For example:
  2365.  
  2366.      
  2367.      Use \code{diff} to compare two files.
  2368.  
  2369.  
  2370. produces this in the printed manual:
  2371.  
  2372.      
  2373.      Use `diff' to compare two files.
  2374.  
  2375.  
  2376.  
  2377.  
  2378. 
  2379. File: latexinfo2.info  Node: kbd, Prev: code, Up: Indicating, Next: key
  2380.  
  2381. `\kbd'{KEYBOARD-CHARACTERS}
  2382. ---------------------------
  2383.  
  2384.  
  2385. Use the `\kbd' command for characters of input to be typed by users.
  2386. For example, to refer to the characters `M-a', write
  2387.  
  2388.      
  2389.      \kbd{M-a}
  2390.  
  2391.  
  2392. and to refer to the characters `M-x shell', write
  2393.  
  2394.      
  2395.      \kbd{M-x shell}
  2396.  
  2397.  
  2398. The `\kbd' command has the same effect as `\code' in Info, but may
  2399. produce a different font in a printed manual.
  2400.  
  2401. You can embed another \-command inside the braces of an `\kbd' command.
  2402. Here, for example, is the way to describe a command that would be
  2403. described more verbosely as "press an `r' and then press the RET key":
  2404.  
  2405.      
  2406.      \kbd{r \key{RET}}  
  2407.  
  2408.  
  2409. This produces: `r RET'
  2410.  
  2411. You also use the `\kbd' command if you are spelling out the letters you
  2412. type; for example:
  2413.  
  2414.      
  2415.      To give the \code{logout} command, 
  2416.      type the characters \kbd{l o g o u t \key{RET}}.
  2417.  
  2418.  
  2419. This produces
  2420.  
  2421.      
  2422.      To give the `logout' command, 
  2423.      type the characters `l o g o u t RET'.
  2424.  
  2425.  
  2426. (Also, this example shows that you can add spaces for clarity.  If you
  2427. really want to mention a space character as one of the characters of
  2428. input, write `\key{SPC}' for it.)
  2429.  
  2430. 
  2431. File: latexinfo2.info  Node: key, Prev: kbd, Up: Indicating, Next: Ctrl
  2432.  
  2433. `\key'{KEY-NAME}
  2434. ----------------
  2435.  
  2436.  
  2437. Use the `\key' command for the conventional name for a key on a
  2438. keyboard, as in
  2439.  
  2440.      
  2441.      \key{RET}
  2442.  
  2443.  
  2444. You can use the `\key' command within the argument of an `\kbd' command
  2445. when the sequence of characters to be typed includes one or more keys
  2446. that are described by name.
  2447.  
  2448. For example, to produce `C-x ESC' you would type:
  2449.  
  2450.      
  2451.      \kbd{C-x \key{ESC}}
  2452.  
  2453.  
  2454. The recommended names to use for keys are in upper case and are
  2455.  
  2456. SPC     
  2457.      
  2458.      Space
  2459. RET     
  2460.      
  2461.      Return
  2462. LFD     
  2463.      
  2464.      Linefeed
  2465. TAB     
  2466.      
  2467.      Tab
  2468. BS     
  2469.      
  2470.      Backspace
  2471. ESC     
  2472.      
  2473.      Escape
  2474. DEL     
  2475.      
  2476.      Delete
  2477. SFT     
  2478.      
  2479.      Shift
  2480. CTL     
  2481.      
  2482.      Control
  2483. META     
  2484.      
  2485.      Meta
  2486.  
  2487.  
  2488. There are subtleties to handling words like `meta' or `ctl' that are
  2489. names of shift keys.  When mentioning a character in which the shift key
  2490. is used, such as `Meta-a', use the `\kbd' command alone without the
  2491. `\key' command, but when you are referring to the shift key in
  2492. isolation, use the `\key' command.  For example, write `\kbd{Meta-a}' to
  2493. produce `Meta-a' and `\key{META}' to produce META.  This is because
  2494. `Meta-a' refers to keys that you press on a keyboard, but META refers to
  2495. a key without implying that you press it.
  2496.  
  2497. 
  2498. File: latexinfo2.info  Node: Ctrl, Prev: key, Up: Indicating, Next: samp
  2499.  
  2500. Ctrl
  2501. ----
  2502.  
  2503.  
  2504. `\ctrl' is used to describe an ASCII control character.  The pattern
  2505. of usage is `\ctrl{CH}', where CH is an ASCII
  2506. character whose control-equivalent is wanted.  Thus you put in an `f'
  2507. when you want to indicate a `control-f'.  For example, to specify
  2508. `control-f', you would enter
  2509.  
  2510.      
  2511.      \ctrl{f}
  2512.  
  2513.  
  2514. which produces
  2515.  
  2516.      
  2517.      ^f
  2518.  
  2519.  
  2520. In the Info file, this generates the specified control character, output
  2521. literally into the file.  This is done so a user can copy the specified
  2522. control character (along with whatever else he or she wants) into
  2523. another Emacs buffer and use it.  Since the `control-h',`control-i', and
  2524. `control-j' characters are formatting characters, they should not be
  2525. indicated this way.
  2526.  
  2527. In a printed manual, this generates text to describe or identify that
  2528. control character: an uparrow followed by the character CH.
  2529.  
  2530. 
  2531. File: latexinfo2.info  Node: samp, Prev: Ctrl, Up: Indicating, Next: var
  2532.  
  2533. `\samp'{TEXT}
  2534. -------------
  2535.  
  2536.  
  2537. Use the `\samp' command to indicate text that is a literal example of a
  2538. sequence of characters in a file, string, pattern, etc.  Enclose the
  2539. text in braces.  The argument appears within `...'  quotation in both
  2540. the Info file and the printed manual; in addition, it is printed in a
  2541. fixed-width font.
  2542.  
  2543.      
  2544.      To match \samp{foo} at the end of the line, 
  2545.      use the regexp \samp{foo$}.
  2546.  
  2547.  
  2548. produces
  2549.  
  2550.      
  2551.      To match `foo' at the end of the line, use the regexp `foo$'.
  2552.  
  2553.  
  2554. `\samp' is used for entire statements in C, for entire shell commands,
  2555. and for names of command-line options.  Use it for buffer names in Emacs
  2556. and for node names in Info or LaTeXinfo.  Often `\samp' is a catchall
  2557. for whatever is not covered by `\code', `\kbd', or `\key'.
  2558.  
  2559. Only include punctuation marks within braces if they are part of the
  2560. string you are specifying.  Write punctuation marks outside the braces
  2561. if those punctuation marks are part of the English text that surrounds
  2562. the string.  In the following sentence, for example, the commas and
  2563. period are outside of the braces:
  2564.  
  2565.      
  2566.      
  2567.      In English, the vowels are \samp{a}, \samp{e}, 
  2568.      \samp{i}, \samp{o}, \samp{u}, and sometimes 
  2569.      \samp{y}.
  2570.      
  2571.  
  2572.  
  2573. This produces:
  2574.  
  2575.      
  2576.      In English, the vowels are `a', `e',
  2577.      `i', `o', `u',  and sometimes 
  2578.      `y'.
  2579.  
  2580.  
  2581. 
  2582. File: latexinfo2.info  Node: var, Prev: samp, Up: Indicating, Next: file
  2583.  
  2584. `\var'{METASYNTACTIC-VARIABLE}
  2585. ------------------------------
  2586.  
  2587.  
  2588. Use the `\var' command to indicate metasyntactic variables.  A
  2589. metasyntactic variable is something that stands for another piece of
  2590. text.  For example, you should use a metasyntactic variable in the
  2591. documentation of a function to describe the arguments that are passed to
  2592. that function.
  2593.  
  2594. Do not use `\var' for the names of particular variables in programming
  2595. languages.  These are specific names from a program, so `\code' is
  2596. correct for them.  For example, the Lisp variable
  2597. `latexinfo-latex-command' is not a metasyntactic variable; it is
  2598. properly formatted using `\code'.
  2599.  
  2600. The effect of `\var' in the Info file is to upcase the argument; in the
  2601. printed manual, to italicize it.  For example:
  2602.  
  2603.      
  2604.      To delete file \var{filename}, 
  2605.      type \code{rm \var{filename}}.
  2606.  
  2607.  
  2608. produces
  2609.  
  2610.      
  2611.      To delete file FILENAME, type `rm FILENAME'.
  2612.  
  2613.  
  2614. (Note that `\var' may appear inside of `\code', `\samp', `\file', etc.)
  2615.  
  2616. Write a metasyntactic variable all in lower case without spaces, and use
  2617. hyphens to make it more readable. In some documentation styles,
  2618. metasyntactic variables are shown with angle brackets, for example:
  2619.  
  2620.      
  2621.      ..., type rm <filename>
  2622.  
  2623.  
  2624. Although this is not the style we use in LaTeXinfo, you can, of course,
  2625. write your own LaTeXinfo formatting commands to output the `<...>'
  2626. format if you wish. *Note Extending LaTeXinfo::.
  2627.  
  2628. 
  2629. File: latexinfo2.info  Node: file, Prev: var, Up: Indicating, Next: dfn
  2630.  
  2631. `\file'{FILE-NAME}
  2632. ------------------
  2633.  
  2634.  
  2635. Use the `\file' command to indicate text that is the name of a
  2636. file, buffer, or directory, or is the name of a node in Info.  You can
  2637. also use the command for filename suffixes.  Don't use `\file'
  2638. for symbols in a programming language; thus, a node name is a name in
  2639. an Info file but not an identifier in a programming language.
  2640.  
  2641. Currently, `\file' is equivalent to `\samp' in its effects on the
  2642. output.  For example,
  2643.  
  2644.      
  2645.      The \file{.el} files are in 
  2646.      the \file{/usr/local/emacs/lisp} directory.
  2647.  
  2648.  
  2649. produces
  2650.  
  2651.      
  2652.      The `.el' files are in 
  2653.      the `/usr/local/emacs/lisp' directory.
  2654.  
  2655.  
  2656. 
  2657. File: latexinfo2.info  Node: dfn, Prev: file, Up: Indicating, Next: Emphasis
  2658.  
  2659. `\dfn'{TERM}
  2660. ------------
  2661.  
  2662.  
  2663. Use the `\dfn' command to identify the introductory or defining use of a
  2664. technical term.  Use the command only in passages whose purpose is to
  2665. introduce a term which will be used again or which the reader ought to
  2666. know.  Mere passing mention of a term for the first time doesn't deserve
  2667. `\dfn'.  The command generates italics in the printed manual, and double
  2668. quotation marks in the Info file.  For example:
  2669.  
  2670.      
  2671.      Getting rid of a file is called \dfn{deleting} it.
  2672.  
  2673.  
  2674. produces
  2675.  
  2676.      
  2677.      Getting rid of a file is called "deleting" it.
  2678.  
  2679.  
  2680. As a general rule, a sentence containing the defining occurrence of a
  2681. term should be a definition of the term.  The sentence does not have
  2682. to say explicitly that it is a definition, but it should contain the
  2683. information of a definition---it should make the meaning clear.
  2684.  
  2685. 
  2686. File: latexinfo2.info  Node: Emphasis, Prev: dfn, Up: Marking Text, Next: emph & strong
  2687.  
  2688. Emphasizing Text
  2689. ================
  2690.  
  2691.  
  2692. Usually, LaTeXinfo changes the font to mark words in the text according
  2693. to what category the words belong to.  The `\code' command, for example,
  2694. does this.  Most often, this is the best way to mark words.  However,
  2695. sometimes you will want to emphasize text without indicating a category.
  2696. LaTeXinfo has two ways to do this: commands that tell LaTeXinfo to
  2697. emphasize the text but leave the method to the program, and commands
  2698. that specify the method to use.  The first way is generally the best
  2699. because it makes it possible to change the style of a document without
  2700. needing to re-edit it line by line.
  2701.  
  2702. * Menu:
  2703.  
  2704. * emph & strong::               How to emphasize text in LaTeXinfo.
  2705. * Smallcaps::                   How to use the small caps font.
  2706. * Fonts::                       Various font commands for printed output.
  2707.  
  2708.  
  2709. 
  2710. File: latexinfo2.info  Node: emph & strong, Prev: Emphasis, Up: Emphasis, Next: Smallcaps
  2711.  
  2712. `\emph'{TEXT} and `\strong'{TEXT}
  2713. ---------------------------------
  2714.  
  2715.  
  2716. The `\emph' and `\strong' commands are for emphasis; `\strong' is
  2717. stronger.  In printed output, `\emph' produces *italics* and `\strong'
  2718. produces *bold*.
  2719.  
  2720. For example,
  2721.  
  2722.      
  2723.      \begin{quote}
  2724.      \strong{Caution:} \code{rm * .[^.]*} removes \emph{all}
  2725.      files in the directory.
  2726.      \end{quote}
  2727.  
  2728.  
  2729.  
  2730. produces:
  2731.  
  2732.  
  2733.      
  2734.           *Caution*: `rm * .[^.]*' removes *all* 
  2735.           files in the directory.
  2736.  
  2737.  
  2738. The `\strong' command is seldom used except to mark what is, in effect,
  2739. a typographical element, such as the word `Caution' in the preceding
  2740. example. (5) (*Note emph & strong-Footnotes::)
  2741.  
  2742. In the Info file, both `\emph' and `\strong' put asterisks around the
  2743. text.
  2744.  
  2745. 
  2746. File: latexinfo2.info  Node: emph & strong-Footnotes, Up: emph & strong
  2747.  
  2748. (5) Don't try to use `\emph' or `\strong' with the
  2749. word `Note'; Info will mistake the combination for a cross
  2750. reference.  Use a phrase such as *Please note* or *Caution*
  2751. instead.
  2752.  
  2753. 
  2754. File: latexinfo2.info  Node: Smallcaps, Prev: emph & strong, Up: Emphasis, Next: Fonts
  2755.  
  2756. The Small Caps Font
  2757. -------------------
  2758.  
  2759.  
  2760.  
  2761. Use the `\scap' command to set text in the printed output in a small
  2762. caps font and set text in the Info file in upper case letters.
  2763.  
  2764.  
  2765. Write the text between braces in lower case, like this:
  2766.  
  2767.      
  2768.      The \sc{acm} and \sc{ieee} are technical societies.
  2769.  
  2770.  
  2771. This produces:
  2772.  
  2773.      
  2774.      The acm and ieee are technical societies.
  2775.  
  2776.  
  2777. LaTeX typesets the small caps font in a manner that prevents the letters
  2778. from `jumping out at you on the page'.  This makes small caps text
  2779. easier to read than text in all upper case.  LaTeX typesets any upper
  2780. case letters in the small caps fonts in full-size capitals.  Use them
  2781. sparingly.
  2782.  
  2783.  
  2784. The Info formatting commands set all small caps text in upper case.
  2785.  
  2786. You may also use the small caps font for acronyms such as ato (a nasa
  2787. word meaning `abort to orbit').
  2788.  
  2789. There are subtleties to using the small caps font with a jargon word
  2790. such as cdr, a word used in Lisp programming.  In this case, you should
  2791. use the small caps font when the word refers to the second and
  2792. subsequent elements of a list (the cdr of the list), but you should use
  2793. `\code' when the word refers to the Lisp function of the same spelling.
  2794.  
  2795. 
  2796. File: latexinfo2.info  Node: Fonts, Prev: Smallcaps, Up: Emphasis, Next: Insertions
  2797.  
  2798. Fonts for Printing, Not Info
  2799. ----------------------------
  2800.  
  2801.  
  2802. LaTeXinfo provides four font commands that specify font changes in the
  2803. printed manual but have no effect in the Info file.  `\i' requests
  2804. italic font (in some versions of LaTeX, a slanted font is used), `\b'
  2805. requests bold face, `\t' requests the fixed-width font used by `\code',
  2806. and `\r' requests a roman font, which is the usual font in which text is
  2807. printed.  In addition `\n' requests the fontsize be set in the normal
  2808. size of the typeface, All the commands apply to an argument that
  2809. follows, surrounded by braces. All four commands apply to an argument
  2810. that follows, surrounded by braces.
  2811.  
  2812. Only the `\r' command has much use: in example programs, you can use the
  2813. `\r' command to convert code comments from the fixed-width font to a
  2814. roman font.  This looks better in printed output.
  2815.  
  2816. For example,
  2817.  
  2818.      
  2819.      
  2820.      \begin{lisp}
  2821.      (+ 2 2)    ; \r{Add two plus two.}
  2822.      \end{lisp}
  2823.      
  2824.  
  2825.  
  2826. produces
  2827.  
  2828.      
  2829.      (+ 2 2)    ; Add two plus two.
  2830.  
  2831.  
  2832. If possible, you should avoid using the other three font commands.  If
  2833. you need to use one, it probably indicates a gap in the LaTeXinfo
  2834. language.
  2835.  
  2836. 
  2837. File: latexinfo2.info  Node: Insertions, Prev: Fonts, Up: Marking Text, Next: Braces Atsigns Periods
  2838.  
  2839. Special Insertions
  2840. ==================
  2841.  
  2842.  
  2843. LaTeXinfo provides several commands for formatting dimensions, for
  2844. inserting single characters that have special meaning in LaTeXinfo, such
  2845. as braces, and for inserting special graphic symbols that do not
  2846. correspond to characters, such as dots and bullets.
  2847.  
  2848.  
  2849.  
  2850. * Menu:
  2851.  
  2852. * Braces Atsigns Periods::      How to insert braces, `\' and periods.
  2853. * dmn::                         How to format a dimension.
  2854. * Dots Bullets::                How to insert dots and bullets.
  2855. * LaTeX and copyright::         How to insert the LaTeX logo 
  2856.                                   and the copyright symbol.
  2857. * minus::                       How to insert a minus sign.
  2858. * Inserting Characters Verbatim::  
  2859.  
  2860.  
  2861. 
  2862. File: latexinfo2.info  Node: Braces Atsigns Periods, Prev: Insertions, Up: Insertions, Next: Inserting An Atsign
  2863.  
  2864. Inserting `\', Braces, and Periods
  2865. ----------------------------------
  2866.  
  2867.  
  2868. `\' and curly braces are special characters in LaTeXinfo.  Periods are
  2869. also special.  Depending on whether the period is inside of or at the
  2870. end of a sentence, less or more space is inserted after a period in a
  2871. typeset manual.  Since it is not always possible for LaTeXinfo to
  2872. determine when a period ends a sentence and when it is used in an
  2873. abbreviation, special commands are needed in some circumstances.
  2874. (Usually, LaTeXinfo can guess how to handle periods, so you don't have
  2875. to use the special commands; you just enter a period as you would if you
  2876. were using a typewriter, which means you put two spaces after the
  2877. period, question mark, or exclamation mark that ends a sentence.) Do not
  2878. put braces after any of these commands; they are not necessary.
  2879.  
  2880. * Menu:
  2881.  
  2882. * Inserting An Atsign::         
  2883. * Inserting Braces::            Inserting `{' and `}'---\{ and \}
  2884. * Controlling Spacing::         
  2885.  
  2886.  
  2887. 
  2888. File: latexinfo2.info  Node: Inserting An Atsign, Prev: Braces Atsigns Periods, Up: Braces Atsigns Periods, Next: Inserting Braces
  2889.  
  2890. Inserting `\'---\back
  2891. .....................
  2892.  
  2893.  
  2894. `\back' stands for a single `\' in either printed or Info output.
  2895.  
  2896. Do not put braces after an `\back' command.
  2897.  
  2898. 
  2899. File: latexinfo2.info  Node: Inserting Braces, Prev: Inserting An Atsign, Up: Braces Atsigns Periods, Next: Controlling Spacing
  2900.  
  2901. Inserting `{' and `}'---\{ and \}
  2902. .................................
  2903.  
  2904.  
  2905. `\{' stands for a single `{' in either printed or Info output.
  2906.  
  2907. `\}' stands for a single `}' in either printed or Info output.
  2908.  
  2909. Do not put braces after either an `\{' or an `\}' command.
  2910.  
  2911. 
  2912. File: latexinfo2.info  Node: Controlling Spacing, Prev: Inserting Braces, Up: Braces Atsigns Periods, Next: dmn
  2913.  
  2914. Spacing After Colons and Periods
  2915. ................................
  2916.  
  2917.  
  2918. Use the `\:' command after a period, question mark, exclamation mark, or
  2919. colon that should not be followed by extra space.  For example, use `\:'
  2920. after periods that end abbreviations which are not at the ends of
  2921. sentences.  `\:' has no effect on the Info file output.
  2922.  
  2923. For example:
  2924.  
  2925.      
  2926.      The U.S.A.\: is a continental nation. 
  2927.  
  2928.  
  2929. produces
  2930.  
  2931.      
  2932.      The U.S.A. is a continental nation. 
  2933.  
  2934.  
  2935. Use `\.' instead of a period at the end of a sentence that ends with a
  2936. single capital letter.  Otherwise, LaTeX will think the letter is an
  2937. abbreviation and will not insert the correct end-of-sentence spacing.
  2938. Here is an example:
  2939.  
  2940.      
  2941.      Give it to X. and to Y\.  Give it to Z\.
  2942.      Give it to X. and to Y.  Give it to Z.
  2943.  
  2944.  
  2945. produces
  2946.  
  2947.  
  2948.  
  2949.      
  2950.      Give it to X. and to Y.  Give it to Z.
  2951.      Give it to X. and to Y.  Give it to Z.
  2952.  
  2953.  
  2954. In the Info file output, `\.' is equivalent to a simple `.'.  Do not put
  2955. braces after either an `\:' or an `\.' command.
  2956.  
  2957. 
  2958. File: latexinfo2.info  Node: dmn, Prev: Controlling Spacing, Up: Insertions, Next: Dots Bullets
  2959.  
  2960. `\dmn'{DIMENSION}: Format a Dimension
  2961. -------------------------------------
  2962.  
  2963.  
  2964. At times, you may want to write `12pt' or `8.5in' with little or no
  2965. space between the number and the abbreviation for the dimension.  You
  2966. can use the `\dmn' command to do this.  On seeing the command, LaTeX
  2967. inserts just enough space for proper typesetting; the Info formatting
  2968. commands insert no space at all, since the Info file does not require
  2969. it. To use the `\dmn' command, write the number and then follow it
  2970. immediately, with no intervening space, by `\dmn', and then by the
  2971. dimension within braces.
  2972.  
  2973. For example,
  2974.  
  2975.      
  2976.      A4 paper is 8.27\dmn{in} wide.
  2977.  
  2978.  
  2979. produces
  2980.  
  2981.      
  2982.      A4 paper is 8.27in wide.
  2983.  
  2984.  
  2985. Not everyone uses this style.  Instead of `8.27in', you may write `8.27
  2986. in.' or `8.27 inches'.
  2987.  
  2988. 
  2989. File: latexinfo2.info  Node: Dots Bullets, Prev: dmn, Up: Insertions, Next: LaTeX and copyright
  2990.  
  2991. Inserting Ellipsis, Dots, and Bullets
  2992. -------------------------------------
  2993.  
  2994.  
  2995. An "ellipsis" (a line of dots) is typeset unlike a string of periods, so
  2996. a special command is used for ellipsis in LaTeXinfo.  The `\bullet'
  2997. command is special, too.  Each of these commands is followed by a pair
  2998. of braces, `{}', without any whitespace between the name of the command
  2999. and the braces.
  3000.  
  3001. * Menu:
  3002.  
  3003. * dots::                        Inserting dots ...
  3004. * bullet::                      Inserting a bullet.
  3005.  
  3006.  
  3007. 
  3008. File: latexinfo2.info  Node: dots, Prev: Dots Bullets, Up: Insertions, Next: LaTeX and copyright
  3009. `\DOTS'{}
  3010.  
  3011. Use the `\dots{}' command to generate an ellipsis, which is three dots
  3012. in a row, appropriately spaced, like this: `...'.  Do not simply write
  3013. three periods in the input file; that would work for the Info file
  3014. output, but would produce the wrong amount of space between the periods
  3015. in the printed manual.
  3016.  
  3017.  
  3018.  
  3019. 
  3020. File: latexinfo2.info  Node: bullet, Prev: Dots Bullets, Up: Insertions, Next: LaTeX and copyright
  3021. `\BULLET'{}
  3022.  
  3023. Use the `\bullet{}' command to generate a large round dot, or the
  3024. closest possible thing to one.  In Info, an asterisk is used.
  3025.  
  3026. Here is a bullet: *
  3027.  
  3028. 
  3029. File: latexinfo2.info  Node: LaTeX and copyright, Prev: Dots Bullets, Up: Insertions, Next: minus
  3030.  
  3031. Inserting LaTeX and the Copyright Symbol
  3032. ----------------------------------------
  3033.  
  3034.  
  3035. The logo LaTeX is typeset in a special fashion and it needs an
  3036. \-command, as does the command for inserting the copyright symbol.  Each
  3037. of these commands is followed by a pair of braces, `{}', without any
  3038. whitespace between the name of the command and the braces.
  3039.  
  3040. * Menu:
  3041.  
  3042. * LaTeX::                         Insert the LaTeX logo.
  3043. * copyright symbol::            `\copyright'{}
  3044.  
  3045.  
  3046. 
  3047. File: latexinfo2.info  Node: LaTeX, Prev: LaTeX and copyright, Up: Insertions, Next: minus
  3048. `\LATEX'{}
  3049.  
  3050. Use the `\LaTeX{}' command to generate `LaTeX'.  In a printed manual,
  3051. this is a special logo that is different from three ordinary letters.
  3052. In Info, it just looks like `LaTeX'.  The `\LaTeX{}' command is amongst
  3053. the few LaTeXinfo commands in that the L, T and the X are in upper case.
  3054.  
  3055. 
  3056. File: latexinfo2.info  Node: copyright symbol, Prev: LaTeX and copyright, Up: Insertions, Next: minus
  3057. `\COPYRIGHT'{}
  3058.  
  3059. Use the `\copyright{}' command to generate `(C) '.  In a printed manual,
  3060. this is a `c' inside a circle, and in Info, this is `(C)'.
  3061.  
  3062. 
  3063. File: latexinfo2.info  Node: minus, Prev: LaTeX and copyright, Up: Insertions, Next: Inserting Characters Verbatim
  3064.  
  3065. Inserting a Minus Sign
  3066. ----------------------
  3067.  
  3068.  
  3069. Use the `\minus{}' command to generate a minus sign.  In a fixed-width
  3070. font, this is a single hyphen, but in a proportional font, the symbol is
  3071. the customary length for a minus sign---a little longer than a hyphen.
  3072.  
  3073. You can compare the two forms:
  3074.  
  3075.      
  3076.      `-' is a minus sign generated with `\minus{}',
  3077.      
  3078.      `-' is a hyphen generated with the character `-'.
  3079.  
  3080.  
  3081. In the fixed-width font used by Info, `\minus{}' is the same as a
  3082. hyphen.
  3083.  
  3084. You should not use `\minus{}' inside of `\code' or `\begin{example}'
  3085. because the width distinction is not made in the fixed-width font they
  3086. use.
  3087.  
  3088. 
  3089. File: latexinfo2.info  Node: Inserting Characters Verbatim, Prev: minus, Up: Insertions, Next: Displaying Material
  3090.  
  3091. Inserting Characters Verbatim
  3092. -----------------------------
  3093.  
  3094.  
  3095. You can use the LaTeX `\verb' command to inserting
  3096. characters verbatim.  The next character after the command must be a
  3097. non-alphabetic or numeric character, such as `+'.  Any characters
  3098. between this marker character, and the next occurence of this marker
  3099. character, will be protected from any operations in LaTeX or Info.
  3100. The contents will be displayed in a fixed-width font.  Unlike LaTeX,
  3101. LaTeXinfo has a restriction on the use of the `\verb'
  3102. command: it must occur at the beginning of a line ( or preceded only by
  3103. whitespace). Hence you will usually use it something like: 
  3104.  
  3105. characters to \scap{ascii} double-quotes: 
  3106. \verb+``+ and 
  3107. \verb+''+
  3108. to \samp{"}.\refill
  3109.  
  3110. 
  3111. File: latexinfo2.info  Node: Displaying Material, Prev: Inserting Characters Verbatim, Up: Top, Next: Quotations
  3112.  
  3113. Displaying Material
  3114. *******************
  3115.  
  3116.  
  3117. Displayed Material are blocks of text consisting of one or more whole
  3118. paragraphs that are set off from the bulk of the text and treated
  3119. differently.  They are usually indented.
  3120.  
  3121. In LaTeXinfo, you always begin a quotation or example by writing an
  3122. `\begin'-command at the beginning of a line by itself, and end it by
  3123. writing an `\end' command that is also at the beginning of a line by
  3124. itself.  For instance, you begin an example by writing `\begin{example}'
  3125. by itself at the beginning of a line and end the example by writing
  3126. `\end{example}' on a line by at itself, at the beginning of that line.
  3127.  
  3128. Since the lines containing `\begin{example}' and `\end{example}' will be
  3129. turned into blank lines, you won't need to put a blank line before the
  3130. `\begin{example}', and another blank line after the `\end{example}'.
  3131. (Remember that blank lines between the beginning `\begin{example}' and
  3132. the ending `\end{example}' will also appear in the Info output.)
  3133.  
  3134. There are a variety of commands for Displaying Material:
  3135.  
  3136. \begin{quote}     
  3137.      
  3138.      Used to indicate text that is quoted. The text is filled, and
  3139.      printed in a roman font by default.
  3140.      
  3141. \begin{quotation}     
  3142.      
  3143.      Used to indicate text that is quoted. The text is filled, indented,
  3144.      and printed in a roman font by default.
  3145.      
  3146. \begin{display}     
  3147.      
  3148.      Used for illustrative text.  The text is indented but not filled,
  3149.      and no font is specified (so, by default, the font is roman).
  3150.      
  3151. \begin{format}     
  3152.      
  3153.      Used for illustrative text.  The text is not indented and not
  3154.      filled and no font is specified (so, by default, the font is
  3155.      roman).
  3156.      
  3157. \begin{center}     
  3158.      
  3159.      Used to center a body of text.
  3160.      
  3161. \begin{flushleft}     
  3162.      
  3163.      Used to line up the left  margin of unfilled text.
  3164.      
  3165. `\begin{flushright}'     
  3166.      
  3167.      Used to line up the  right margin of unfilled text.
  3168.      
  3169. \begin{lisp}     
  3170.      
  3171.      Used to illustrate Lisp code. The text is printed in a fixed-width
  3172.      font without filling.
  3173.      
  3174. \begin{smalllisp}     
  3175.      
  3176.      Used to illustrate Lisp code. The text is printed in a smaller
  3177.      fixed-width font.
  3178.      
  3179. \begin{example}     
  3180.      
  3181.      Used to illustrate code, and commands. The text is printed in a
  3182.      fixed-width font without filling.
  3183.      
  3184. \begin{smallexample}     
  3185.      
  3186.      Used to illustrate code, commands, and the like, in a smaller font.
  3187.      
  3188. \begin{verbatim}     
  3189.      
  3190.      Used to illustrate code and commands, but the text is protected
  3191.      from processing by LaTeX and Info, and is printed in a fixed-width
  3192.      font without filling.
  3193.      
  3194. \begin{smallverbatim}     
  3195.      
  3196.      Used to illustrate code, commands, and the like. The content is
  3197.      protected from processing by LaTeX and Info, and is set in a
  3198.      smaller font.
  3199.  
  3200.  
  3201. The `\exdent' command is used within the above constructs (except of
  3202. course for the `verbatim' ones) to undo the indentation of a line.
  3203.  
  3204. The `\noindent' command may be used after one of the above constructs to
  3205. prevent the following text from being indented as a new paragraph.
  3206.  
  3207.  
  3208. * Menu:
  3209.  
  3210. * Quotations::                  
  3211. * Justifying Text::             
  3212. * Display Environments::        
  3213. * Examples and Verbatim::       
  3214. * Controlling Indentation::     
  3215. * cartouche::                   Drawing Cartouches Around Examples
  3216. * Special Glyphs::              Special Glyphs for Examples
  3217. * Conditionals::                Conditionally Visible Text
  3218.  
  3219.  
  3220. 
  3221. File: latexinfo2.info  Node: Quotations, Prev: Displaying Material, Up: Displaying Material, Next: quotation
  3222.  
  3223. Quotations
  3224. ==========
  3225.  
  3226.  
  3227. * Menu:
  3228.  
  3229. * quotation::                   `\begin{quote}'
  3230.  
  3231.  
  3232. 
  3233. File: latexinfo2.info  Node: quotation, Prev: Quotations, Up: Quotations, Next: Justifying Text
  3234.  
  3235. Quotations
  3236. ----------
  3237.  
  3238.  
  3239. The text of a quote is processed normally except that
  3240.  
  3241.    * The margins are closer to the center of the page, so the whole of
  3242.      the quotation is offset.
  3243.      
  3244.    * The first lines of paragraphs are indented no more than the other
  3245.      lines.
  3246.      
  3247.    * In the printed output, interline spacing and interparagraph spacing
  3248.      are reduced.
  3249.  
  3250.  
  3251.      
  3252.      This is an example of text written between an `\begin{quote}' command and an `\end{quote}' command.  A
  3253.      `\begin{quote}' command is most often used to indicate text
  3254.      that is excerpted from another (real or hypothetical) printed work.
  3255.  
  3256.  
  3257. Write an `\begin{quote}' command as text of a line by itself.  This line
  3258. will disappear from the output.  Mark the end of the quotation with a
  3259. line beginning with and containing only `\end{quote}'.  The
  3260. `\end{quote}' line will likewise disappear from the output.  Thus, the
  3261. input
  3262.  
  3263.      
  3264.      \begin{quote}
  3265.      This is
  3266.      a foo.
  3267.      \end{quote}
  3268.  
  3269.  
  3270. produces
  3271.  
  3272.      
  3273.           
  3274.           This is a foo.
  3275.      
  3276.  
  3277.  
  3278. The text of a `\begin{quotation}' environment is processed the same way,
  3279. except that the first line of the text is indented.
  3280.  
  3281. 
  3282. File: latexinfo2.info  Node: Justifying Text, Prev: quotation, Up: Displaying Material, Next: flushleft & flushright
  3283.  
  3284. Justifying Text
  3285. ===============
  3286.  
  3287.  
  3288. * Menu:
  3289.  
  3290. * flushleft & flushright::      Left Justification and Right Justification
  3291.  
  3292.  
  3293. 
  3294. File: latexinfo2.info  Node: flushleft & flushright, Prev: Justifying Text, Up: Justifying Text, Next: Center Environment
  3295.  
  3296. Left Justification and Right Justification
  3297. ------------------------------------------
  3298.  
  3299.  
  3300. The `\begin{flushleft}' and `\begin{flushright}' commands line up the
  3301. left or right ends of lines on the left and right margins of a page, but
  3302. do not fill the text.  The commands are written on lines of their own,
  3303. without braces.  The `\begin{flushleft}' and `\begin{flushright}'
  3304. commands are ended by `\end{flushleft}' and `\end flushright' commands
  3305. on lines of their own.
  3306.  
  3307. For example,
  3308.  
  3309.      
  3310.      
  3311.      \begin{flushleft}
  3312.      This text is 
  3313.      written flushleft.
  3314.      \end{flushleft}
  3315.      
  3316.  
  3317.  
  3318. produces
  3319.  
  3320.      
  3321.      This text is written flushleft.  The \code{\begin{flushleft}}
  3322.      command left justifies every line but leaves the
  3323.      right end ragged.
  3324.      
  3325.  
  3326.  
  3327. Flushright produces the type of indentation often used in the return
  3328. address of letters.
  3329.  
  3330.      
  3331.      
  3332.      \begin{flushright}
  3333.      Here is an example of text written
  3334.      flushright.  The \code{\begin{flushright}} command 
  3335.      right justifies every line but leaves the
  3336.      left end ragged.
  3337.      \end{flushright}
  3338.      
  3339.  
  3340.  
  3341. produces
  3342.  
  3343.                                       Here is an example of text written
  3344.                            flushright.  The `\begin{flushright}' command
  3345.                                right justifies every line but leaves the
  3346.                                                         left end ragged.
  3347.  
  3348.  
  3349. * Menu:
  3350.  
  3351. * Center Environment::          
  3352.  
  3353.  
  3354. 
  3355. File: latexinfo2.info  Node: Center Environment, Prev: flushleft & flushright, Up: flushleft & flushright, Next: Display Environments
  3356.  
  3357. Center Environment
  3358. ..................
  3359.  
  3360.  
  3361. Text enclosed in a `center' environment produces lines of output
  3362. containing text centered between the margins.  This is the same
  3363. as the `center' environment of LaTeX, and different from the
  3364. TeXinfo command of the same name.
  3365.  
  3366. 
  3367. File: latexinfo2.info  Node: Display Environments, Prev: Center Environment, Up: Displaying Material, Next: display
  3368.  
  3369. Display Environments
  3370. ====================
  3371.  
  3372.  
  3373. * Menu:
  3374.  
  3375. * display::                     `\begin{display}'
  3376. * format::                      `\begin{format}'
  3377.  
  3378.  
  3379. 
  3380. File: latexinfo2.info  Node: display, Prev: Display Environments, Up: Display Environments, Next: format
  3381.  
  3382. `\begin{display}'
  3383. -----------------
  3384.  
  3385.  
  3386. The `\begin{display}' command begins a kind of example.  It is like the
  3387. `\begin{example}' command except that, in a printed manual,
  3388. `\begin{display}' does not select the fixed-width font.  In fact, it
  3389. does not specify the font at all, so that the text appears in the same
  3390. font it would have appeared in without the `\begin{display}' command.
  3391.  
  3392.      
  3393.      This is an example of text written between an
  3394.      `\begin{display}' command and an `\end{display}'
  3395.      command.  The `\begin{display}' command indents the text, 
  3396.      but does not fill it.
  3397.  
  3398.  
  3399. 
  3400. File: latexinfo2.info  Node: format, Prev: display, Up: Display Environments, Next: Examples and Verbatim
  3401.  
  3402. `\begin{format}'
  3403. ----------------
  3404.  
  3405.  
  3406. The `\begin{format}' command is similar to `\begin{example}' except
  3407. that, in the printed manual, `\begin{format}' does not select the
  3408. fixed-width font and does not narrow the margins.
  3409.  
  3410. This is an example of text written between an `\begin{format}' command and an `\end{format}' command.  The
  3411. `\begin{format}' command does not fill the text.
  3412.  
  3413.  
  3414. 
  3415. File: latexinfo2.info  Node: Examples and Verbatim, Prev: format, Up: Displaying Material, Next: example
  3416.  
  3417. Examples and Verbatim
  3418. =====================
  3419.  
  3420.  
  3421. * Menu:
  3422.  
  3423. * example::                     `\begin{example}'
  3424. * noindent::                    `\noindent'
  3425. * Lisp Example::                `\begin{lisp}'
  3426. * Verbatim Environment::        
  3427.  
  3428.  
  3429. 
  3430. File: latexinfo2.info  Node: example, Prev: Examples and Verbatim, Up: Examples and Verbatim, Next: noindent
  3431.  
  3432. `\begin{example}'
  3433. -----------------
  3434.  
  3435.  
  3436. The `\begin{example}' command is used to indicate an example that is not
  3437. part of the running text, such as computer input or output.
  3438.  
  3439.      
  3440.      This is an example of text written between an `\begin{example}' 
  3441.      command and an `\end{example}' command.  The text is
  3442.      indented but not filled.
  3443.      
  3444.      In the printed manual, the text is typeset in a fixed-width font, and
  3445.      extra spaces and blank lines are significant.  In the Info file, an
  3446.      analogous result is obtained by indenting each line with five extra
  3447.      spaces.
  3448.  
  3449.  
  3450. Write an `\begin{example}' command at the beginning of a line (or
  3451. possibly preceded by whitespace) as the only text on a line by itself.
  3452. This line will turn into a blank line in the Info output.  Mark the end
  3453. of the example with a line beginning containing only `\end{example}' (or
  3454. possibly preceded by whitespace).  The `\end{example}' will likewise
  3455. turn into a blank line in the Info output.  For example:
  3456.  
  3457.      
  3458.      \begin{example}
  3459.      mv foo bar
  3460.      \end{example}
  3461.  
  3462.  
  3463. produces
  3464.  
  3465.      
  3466.      mv foo bar
  3467.  
  3468.  
  3469.      
  3470.      *Caution:* Do not use tabs in lines of an example (or anywhere else
  3471.      in LaTeXinfo, for that matter)!  LaTeX treats tabs like single
  3472.      spaces, and that is not what they look like.  This is a problem
  3473.      with LaTeX.  (If necessary, in Emacs, you can use `M-x untabify' to
  3474.      convert tabs in a region to multiple spaces.)
  3475.  
  3476.  
  3477. Examples are often, logically speaking, "in the middle" of a paragraph,
  3478. and the text continues after an example should not be indented.  The
  3479. `\noindent' command prevents a piece of text from being indented as if
  3480. it were a new paragraph.
  3481.  
  3482. (The `\code' command is used for examples of code that is
  3483. embedded within sentences, not set off from preceding and following
  3484. text.  *Note \code{\back code: code}.)
  3485.  
  3486. 
  3487. File: latexinfo2.info  Node: noindent, Prev: example, Up: Examples and Verbatim, Next: Lisp Example
  3488.  
  3489. `\noindent'
  3490. -----------
  3491.  
  3492.  
  3493. If you have text following an `\begin{example}' or other similar
  3494. inclusion that reads as a continuation of the text before the
  3495. `\begin{example}', it is good to prevent this text from being indented
  3496. as a new paragraph.  To accomplish this, write `\noindent' at the
  3497. beginning of a line by itself preceding the continuation text.  For
  3498. example,
  3499.  
  3500.      
  3501.      \begin{example}
  3502.      This is an example
  3503.      \end{example}
  3504.      
  3505.      \noindent 
  3506.      This line will not be indented.  As you can see, the
  3507.      beginning of the line is fully flush left with the line
  3508.      that follows after it.  (This whole example is between
  3509.      `\begin{display}' and `\end{display}'.)
  3510.  
  3511.  
  3512. produces
  3513.  
  3514.      
  3515.           
  3516.           This is an example
  3517.      
  3518.      
  3519.      This line will not be indented.  As you can see, the beginning of the
  3520.      line is fully flush left with the line that follows after it.  (This
  3521.      whole example is between `\begin{display}' and 
  3522.      `\end{display}'.)
  3523.  
  3524.  
  3525. To adjust the number of blank lines properly in the Info file output,
  3526. remember that the line containing `\noindent' does not generate a blank
  3527. line, and neither does the `\end{example}' line.
  3528.  
  3529. In the LaTeXinfo source file for this documentation, each of the lines
  3530. that says `produces' is preceded by a line containing `\noindent'.  Do
  3531. not put braces after an `\noindent' command.
  3532.  
  3533. The `smallexample' environment sets its contents in a smaller font.
  3534.  
  3535. 
  3536. File: latexinfo2.info  Node: Lisp Example, Prev: noindent, Up: Examples and Verbatim, Next: Verbatim Environment
  3537.  
  3538. `\begin{lisp}'
  3539. --------------
  3540.  
  3541.  
  3542. The `\begin{lisp}' command is used for Lisp code.  It is synonymous
  3543. with the `\begin{example}' command.
  3544.  
  3545.      
  3546.      This is an example of text written between an
  3547.      `\begin{lisp}' command and an `\end{lisp}' command.
  3548.  
  3549.  
  3550. Use `\begin{lisp}' instead of `\begin{example}' so as to preserve
  3551. information regarding the nature of the example.  This is useful, for
  3552. example, if you write a function that evaluates only and all the Lisp
  3553. code in a LaTeXinfo file.  Then you can use the LaTeXinfo file as a Lisp
  3554. library. (6) (*Note Lisp Example-Footnotes::)
  3555.  
  3556. Mark the end of `\begin{lisp}' with `\end{lisp}' on a line by itself.
  3557.  
  3558. The `smalllisp' environment sets its contents in a smaller font.
  3559.  
  3560. 
  3561. File: latexinfo2.info  Node: Lisp Example-Footnotes, Up: Lisp Example
  3562.  
  3563. (6) It would be straightforward to extend LaTeXinfo to work in a
  3564. similar fashion for C, Fortran, or other languages.
  3565.  
  3566. 
  3567. File: latexinfo2.info  Node: Verbatim Environment, Prev: Lisp Example, Up: Examples and Verbatim, Next: Controlling Indentation
  3568.  
  3569. Verbatim Environment
  3570. --------------------
  3571.  
  3572.  
  3573. The `verbatim' environment is very similar to the `example' environment
  3574. except that no parsing of the contents is carried out, and the text is
  3575. not indented.  In the Info file things will appear exactly as they have
  3576. been typed in. In the printed manual, this is the same as the LaTeX
  3577. command of the same name.  Verbatim environments cannot be nested, nor
  3578. can they appear inside another environment such as `example'.  The
  3579. `\begin{verbatim}' and `\end{verbatim}' *must* occur at the beginning of
  3580. a line.
  3581.  
  3582. The `smallverbatim' environment sets its contents in a smaller font.
  3583.  
  3584. The `verbatimfile' command includes the contents of a file with a
  3585. `verbatim' environment.  The command is followed by an `\end{verbatim}'
  3586. command, such as
  3587.  
  3588. \verbatimfile{foo.bar}
  3589. \end{verbatim}
  3590.  
  3591. The `smallverbatimfile' command sets its argument in a smaller font,
  3592. and is terminated by an `\end{smallverbatim}' command.
  3593.  
  3594. 
  3595. File: latexinfo2.info  Node: Controlling Indentation, Prev: Verbatim Environment, Up: Displaying Material, Next: exdent
  3596.  
  3597. Controlling Indentation
  3598. =======================
  3599.  
  3600.  
  3601. * Menu:
  3602.  
  3603. * exdent::                      `\exdent': Undoing a Line's Indentation
  3604.  
  3605.  
  3606. 
  3607. File: latexinfo2.info  Node: exdent, Prev: Controlling Indentation, Up: Controlling Indentation, Next: cartouche
  3608.  
  3609. exdent: Undoing a Line's Indentation
  3610. ------------------------------------
  3611.  
  3612.  
  3613. The `\exdent' command removes any indentation a line might have.  The
  3614. command is written at the beginning of a line and applies only to the
  3615. text that follows the command that is on the same line.  Don't use
  3616. braces around the text.  In the printed manual, the text on the
  3617. `\exdent' line is printed in the roman font.
  3618.  
  3619. `\exdent' is usually used within examples.  Thus,
  3620.  
  3621.      
  3622.      
  3623.      \begin{example}
  3624.      This line follows an \begin{example} command.
  3625.      \exdent{This line is exdented.}
  3626.      This line follows the exdented line.
  3627.      The \end{example} comes on the next line.
  3628.      \end{example}
  3629.      
  3630.  
  3631.  
  3632. produces
  3633.  
  3634.      
  3635.      
  3636.      This line  follows an \begin{example} command.
  3637. {This line is exdented.}     
  3638.      This line follows the exdented line.
  3639.      The \end{example} comes on the next line.
  3640.      
  3641.  
  3642.  
  3643. In practice, the `\exdent' command is rarely used.  Usually, you
  3644. un-indent text by ending the example and returning the page to its
  3645. normal width.
  3646.  
  3647. 
  3648. File: latexinfo2.info  Node: cartouche, Prev: exdent, Up: Displaying Material, Next: Special Glyphs
  3649.  
  3650. Drawing Cartouches Around Examples
  3651. ==================================
  3652.  
  3653.  
  3654. In a printed manual, the `cartouche' environment draws a box with
  3655. rounded corners around its contents.  Pair with `\end{cartouche}'. You
  3656. can use this command to further highlight an example or quotation.  For
  3657. instance, you could write a manual in which one type of example is
  3658. surrounded in a cartouche to emphasize them.
  3659.  
  3660. The `\cartouche' command affects only the printed manual; it has no
  3661. effect in the Info file.
  3662.  
  3663. For example, 
  3664.  
  3665.      
  3666.      
  3667.      \begin{example}
  3668.      \cartouche
  3669.      % pwd
  3670.      /usr/local/lib/emacs/info
  3671.      \end{cartouche}
  3672.      \end{example}
  3673.      
  3674.  
  3675.  
  3676.  
  3677.  
  3678. surrounds the two-line example with a box with rounded corners, in the
  3679. printed manual.
  3680.  
  3681. 
  3682. File: latexinfo2.info  Node: Special Glyphs, Prev: cartouche, Up: Displaying Material, Next: result
  3683.  
  3684. Special Glyphs for Examples
  3685. ===========================
  3686.  
  3687.  
  3688. In LaTeXinfo, code is often illustrated in examples that are delimited
  3689. by `\begin{example}' and `\end{example}', or by `\begin{lisp}' and
  3690. `\end{lisp}'.  In such examples, you can indicate the results of
  3691. evaluation or an expansion using `=> ' or `==>'.  Likewise, there are
  3692. special symbols to indicate printed output, an error message,
  3693. equivalence of expressions, and the location of point. The special glyph
  3694. commands do not have to be used within an example.  Every special glyph
  3695. command is followed by a pair of left- and right-hand braces.
  3696.  
  3697. * Menu:
  3698.  
  3699. * result::                      How to show the result of expression.
  3700. * expansion::                   How to indicate an expansion.
  3701. * Print Special Glyph::         How to indicate printed output.
  3702. * Error Special Glyph::         How to indicate an error message.
  3703. * Equivalence::                 How to indicate equivalence.
  3704. * Point Special Glyph::         How to indicate the location of point.
  3705.  
  3706.  
  3707. Here are the different special glyph commands:
  3708.  
  3709. =>      
  3710.      
  3711.      `\result{}' points to the result of an expression.
  3712.      
  3713. ==>     
  3714.      
  3715.      `\expansion{}' shows the results of a macro expansion.
  3716.      
  3717. -|     
  3718.      
  3719.      `\print{}' indicates printed output.
  3720.      
  3721. error-->     
  3722.      
  3723.      `\error{}' indicates that the following text is an error message.
  3724.      
  3725. ==     
  3726.      
  3727.      `\equiv{}' indicates the exact equivalence of two forms.
  3728.      
  3729. -!-     
  3730.      
  3731.      `\point{}' shows the location of point.
  3732.  
  3733.  
  3734. 
  3735. File: latexinfo2.info  Node: result, Prev: Special Glyphs, Up: Special Glyphs, Next: expansion
  3736.  
  3737. => : Indicating Evaluation
  3738. --------------------------
  3739.  
  3740.  
  3741. Use the `\result{}' command to indicate the result of evaluating an
  3742. expression.
  3743.  
  3744. The `\result{}' command is displayed as `=> ' in Info and as a double
  3745. stemmed arrow in the printed output.
  3746.  
  3747. Thus, the following,
  3748.  
  3749.      
  3750.      (cdr '(1 2 3))
  3751.           =>  (2 3)
  3752.  
  3753.  
  3754. may be read as "`(cdr '(1 2 3))' evaluates to (2 3)".
  3755.  
  3756. 
  3757. File: latexinfo2.info  Node: expansion, Prev: result, Up: Special Glyphs, Next: Print Special Glyph
  3758.  
  3759. ==>: Indicating an Expansion
  3760. ----------------------------
  3761.  
  3762.  
  3763. When an expression is a macro call, it expands into a new expression.
  3764. You can indicate the result of the expansion with the `\expansion{}'
  3765. command.
  3766.  
  3767. The `\expansion{}' command is displayed as `==>' in Info and as a long
  3768. arrow with a flat base in the printed output.
  3769.  
  3770. For example, the following
  3771.  
  3772.      
  3773.      
  3774.      \begin{lisp}
  3775.      (third '(a b c))
  3776.           \expansion{} (car (cdr (cdr '(a b c))))
  3777.           \result{} c
  3778.      \end{lisp}
  3779.      
  3780.  
  3781.  
  3782. produces
  3783.  
  3784.      
  3785.      
  3786.      (third '(a b c))
  3787.           ==> (car (cdr (cdr '(a b c))))
  3788.           =>  c
  3789.      
  3790.  
  3791.  
  3792. which may be read as: 
  3793.      
  3794.      `(third '(a b c))' expands to `(car (cdr (cdr '(a b c))))';
  3795.      the result of evaluating the expression is `c'.
  3796.  
  3797.  
  3798. (Often, as in this case, an example looks better if the `\expansion{}'
  3799. and `\result{}' commands are indented five spaces.)
  3800.  
  3801. 
  3802. File: latexinfo2.info  Node: Print Special Glyph, Prev: expansion, Up: Special Glyphs, Next: Error Special Glyph
  3803.  
  3804. -|: Indicating Printed Output
  3805. -----------------------------
  3806.  
  3807.  
  3808. Sometimes an expression will print output during its execution.  You can
  3809. indicate the printed output with the `\print{}' command.
  3810.  
  3811. The `\print{}' command is displayed as `-|' in Info and similarly, as a
  3812. horizontal dash butting against a vertical bar, in the printed output.
  3813.  
  3814.  
  3815. In the following example, the printed text is indicated with `-|', and
  3816. the value of the expression follows on the last line.
  3817.  
  3818.      
  3819.      
  3820.      (progn (print 'foo) (print 'bar))
  3821.           -| foo
  3822.           -| bar
  3823.           =>  bar
  3824.      
  3825.  
  3826.  
  3827. In a LaTeXinfo source file, this example is written as follows:
  3828.  
  3829.      
  3830.      
  3831.      \begin{lisp}
  3832.      (progn (print 'foo) (print 'bar))
  3833.           \print{} foo
  3834.           \print{} bar
  3835.           \result{} bar
  3836.      \end{lisp}
  3837.      
  3838.  
  3839.  
  3840. 
  3841. File: latexinfo2.info  Node: Error Special Glyph, Prev: Print Special Glyph, Up: Special Glyphs, Next: Equivalence
  3842.  
  3843. error-->: Indicating an Error Message
  3844. -------------------------------------
  3845.  
  3846.  
  3847. A section of code may cause an error when you evaluate it.  You can
  3848. designate the error message with the `\error{}' command.
  3849.  
  3850. The `\error{}' command is displayed as `error-->' in Info and as the
  3851. word `error' in a box in the printed output.
  3852.  
  3853. Thus,
  3854.  
  3855.      
  3856.      \begin{lisp}
  3857.      (+ 23 'x)
  3858.      \error{} Wrong type argument: integer-or-marker-p, x
  3859.      \end{lisp}
  3860.  
  3861.  
  3862. produces
  3863.  
  3864.      
  3865.      (+ 23 'x)
  3866.      error--> Wrong type argument: integer-or-marker-p, x
  3867.  
  3868.  
  3869. This indicates that the following error message is printed
  3870. when you evaluate the expression:
  3871.  
  3872.      
  3873.      Wrong type argument: integer-or-marker-p, x
  3874.  
  3875.  
  3876. Note that `error-->' itself is not part of the error
  3877. message.
  3878.  
  3879. 
  3880. File: latexinfo2.info  Node: Equivalence, Prev: Error Special Glyph, Up: Special Glyphs, Next: Point Special Glyph
  3881.  
  3882. ==: Indicating Equivalence
  3883. --------------------------
  3884.  
  3885.  
  3886. Sometimes two expressions produce identical results.  You can indicate
  3887. the exact equivalence of two forms with the `\equiv{}' command.
  3888.  
  3889. The `\equiv{}' command is displayed as `==' in Info and as a three
  3890. parallel horizontal lines in the printed output.
  3891.  
  3892.  
  3893. Thus,
  3894.      
  3895.      \begin{lisp}
  3896.      (make-sparse-keymap) \equiv{} (list 'keymap)
  3897.      \end{lisp}
  3898.  
  3899.  
  3900. produces
  3901.      
  3902.      (make-sparse-keymap) == (list 'keymap)
  3903.  
  3904.  
  3905. This indicates that evaluating `(make-sparse-keymap)' produces
  3906. identical results to evaluating `(list 'keymap)'.
  3907.  
  3908. 
  3909. File: latexinfo2.info  Node: Point Special Glyph, Prev: Equivalence, Up: Special Glyphs, Next: Conditionals
  3910.  
  3911. Indicating Point in a Buffer
  3912. ----------------------------
  3913.  
  3914.  
  3915. Sometimes you need to show an example of text in an Emacs buffer.  In
  3916. such examples, the convention is to include the entire contents of the
  3917. buffer in question between two lines of dashes containing the buffer
  3918. name.
  3919.  
  3920. You can use the `\point{}' command to show the location of point in the
  3921. text in the buffer.  (The symbol for point, of course, is not part of
  3922. the text in the buffer; it indicates the place *between* two characters
  3923. where point is located.)
  3924.  
  3925. The `\point{}' command is displayed as `-!-' in Info and as a small five
  3926. pointed star in the printed output.
  3927.  
  3928.  
  3929. The following example shows the contents of buffer `foo' before and
  3930. after evaluating a Lisp command to insert the word `changed'.
  3931.  
  3932.      
  3933.      
  3934.      ---------- Buffer: foo ----------
  3935.      This is the -!-contents of foo.
  3936.      ---------- Buffer: foo ----------
  3937.      
  3938.  
  3939.  
  3940.      
  3941.      
  3942.      (insert "changed ")
  3943.           =>  nil
  3944.      ---------- Buffer: foo ----------
  3945.      This is the changed -!-contents of foo.
  3946.      ---------- Buffer: foo ----------
  3947.      
  3948.  
  3949.  
  3950. In a LaTeXinfo source file, the example is written like this:
  3951.      
  3952.      \begin{example}
  3953.      ---------- Buffer: foo ----------
  3954.      This is the \point{}contents of foo.
  3955.      ---------- Buffer: foo ----------
  3956.      
  3957.      (insert "changed ")
  3958.           \result{} nil
  3959.      ---------- Buffer: foo ----------
  3960.      This is the changed \point{}contents of foo.
  3961.      ---------- Buffer: foo ----------
  3962.      \end{example}
  3963.  
  3964.  
  3965. 
  3966. File: latexinfo2.info  Node: Conditionals, Prev: Point Special Glyph, Up: Displaying Material, Next: Conditional Commands
  3967.  
  3968. Conditionally Visible Text
  3969. ==========================
  3970.  
  3971.  
  3972. Sometimes it is good to use different text for a printed manual and its
  3973. corresponding Info file.  In this case, you can use the conditional
  3974. commands to specify which text is for the printed manual and which is
  3975. for the Info file.
  3976.  
  3977. * Menu:
  3978.  
  3979. * Conditional Commands::        Specifying text for Info or LaTeX.
  3980. * Using Ordinary LaTeX Commands::  
  3981.  
  3982.  
  3983. 
  3984. File: latexinfo2.info  Node: Conditional Commands, Prev: Conditionals, Up: Conditionals, Next: Using Ordinary LaTeX Commands
  3985.  
  3986. Using `\begin{ifinfo}' and `\begin{iftex}'
  3987. ------------------------------------------
  3988.  
  3989.  
  3990.  
  3991. `\begin{ifinfo}' begins text that should be ignored by LaTeX when it
  3992. typesets the printed manual.  The text appears only in the Info file.
  3993. The `\begin{ifinfo}' command should appear on a line by itself.  End the
  3994. Info-only text with a line containing `\end{ifinfo}' by itself. The
  3995. `\begin{iftex}' and `\end{iftex}' commands are used similarly but to
  3996. delimit text that will appear in the printed manual but not in the Info
  3997. file.
  3998.  
  3999. For example, 
  4000.  
  4001.      
  4002.      \begin{iftex}
  4003.      This text will appear only in the printed manual.
  4004.      \end{iftex}
  4005.      
  4006.      \begin{ifinfo}
  4007.      However, this text will appear only in Info.
  4008.      \end{ifinfo}
  4009.  
  4010.  
  4011. The preceding example produces the following.  Note how you only see one
  4012. of the two lines, depending on whether you are reading the Info version
  4013. or the printed version of this manual.
  4014.  
  4015.  
  4016.  
  4017. However, this text will appear only in Info.
  4018.  
  4019.  
  4020. 
  4021. File: latexinfo2.info  Node: Using Ordinary LaTeX Commands, Prev: Conditional Commands, Up: Conditionals, Next: Lists and Tables
  4022.  
  4023. Using Ordinary LaTeX Commands
  4024. -----------------------------
  4025.  
  4026.  
  4027. Inside a region delineated by `\begin{iftex}' and
  4028. `\end{iftex}', you can embed some LaTeX commands.
  4029. Info will ignore these commands since they are only in that part of the
  4030. file that is seen by LaTeX.  
  4031.  
  4032. You can enter LaTeX completely by delineating a region with the
  4033. `\begin{tex}' and `\end{tex}' commands.  The characters `# $ % ^ & _ |'
  4034. all revert to their normal LaTeX. The `\begin{tex}' command also causes
  4035. Info to ignore the region, like the `\begin{iftex}' command.
  4036.  
  4037. For example, here is some mathematics:
  4038.  
  4039.      
  4040.      \begin{tex}
  4041.      $\bigl(x\in A(n)\bigm|x\in B(n)\bigr)$
  4042.      \end{tex}
  4043.  
  4044.  
  4045. The output of this example will appear only in the printed manual.  If
  4046. you are reading this in Info, you will not see anything after this
  4047. paragraph.
  4048.  
  4049.  
  4050.  
  4051.  
  4052. 
  4053. File: latexinfo2.info  Node: Lists and Tables, Prev: Using Ordinary LaTeX Commands, Up: Top, Next: Introducing Lists
  4054.  
  4055. Making Lists Tables and Descriptions
  4056. ************************************
  4057.  
  4058.  
  4059. LaTeXinfo has several ways of making lists and tables.  Lists can be
  4060. bulleted or numbered, while descriptions can highlight the items in the
  4061. first column.
  4062.  
  4063. * Menu:
  4064.  
  4065. * Introducing Lists::           Formatting is done for you.
  4066. * Itemize Environment::         
  4067. * enumerate::                   How to construct a numbered list.
  4068. * Description Environment::     
  4069. * Tabular Environment::         
  4070. * Figures and Tables::          
  4071.  
  4072.  
  4073. 
  4074. File: latexinfo2.info  Node: Introducing Lists, Prev: Lists and Tables, Up: Lists and Tables, Next: Itemize Environment
  4075.  
  4076. Introducing Lists
  4077. =================
  4078.  
  4079.  
  4080.  
  4081. LaTeXinfo automatically indents the text in lists or descriptions, and
  4082. numbers an enumerated list.  This last feature is useful if you modify
  4083. the list, since you do not have to renumber it yourself.
  4084.  
  4085. Numbered lists and tables begin with the appropriate `\begin' command at
  4086. the beginning of a line, and end with the corresponding `\end' command
  4087. on a line by itself.  Begin an enumerated list, for example, with an
  4088. `\begin{enumerate}' command and end the list with an `\end{enumerate}'
  4089. command.  Begin an itemized list with an `\begin{itemize}' command, and
  4090. end the list with an `\end{itemize}' command.  You precede each element
  4091. of a list with an `\item' command.
  4092.  
  4093. Here is an itemized list of the different kinds of table and lists:
  4094.  
  4095.    * 
  4096.      Itemized lists with and without bullets.
  4097.      
  4098.    * 
  4099.      Numbered lists.
  4100.      
  4101.    * 
  4102.      Descriptions with highlighting.
  4103.  
  4104.  
  4105. Here is an enumerated list with the same items:
  4106.  
  4107.   1. 
  4108.      Itemized lists with and without bullets.
  4109.      
  4110.   2. 
  4111.      Numbered lists.
  4112.      
  4113.   3. 
  4114.      Descriptions with highlighting.
  4115.  
  4116.  
  4117. And here is a description with the same items and their \-commands:
  4118.  
  4119. \begin{itemize}     
  4120.      
  4121.      Itemized lists with and without bullets.
  4122.      
  4123. \begin{enumerate}     
  4124.      
  4125.      Numbered lists.
  4126.      
  4127. \begin{description}     
  4128.      
  4129.      two-column descriptions with highlighting.
  4130.      
  4131. \begin{tabular}     
  4132.      
  4133.      Multio--column tables.
  4134.  
  4135.  
  4136. 
  4137. File: latexinfo2.info  Node: Itemize Environment, Prev: Introducing Lists, Up: Lists and Tables, Next: enumerate
  4138.  
  4139. Itemize Environment
  4140. ===================
  4141.  
  4142.  
  4143. The `\begin{itemize}' is used to produce sequences of indented
  4144. paragraphs, with a mark inside the left margin at the beginning of each
  4145. paragraph.  The text of the indented paragraphs themselves come after
  4146. the `\begin{itemize}', up to another line that says
  4147. `\end{itemize}'.  Before each paragraph for which a mark in
  4148. the margin is desired, place a line that says just `\item'.
  4149. It's best not to put any other text on this line.
  4150.  
  4151. Before each paragraph for which a mark in the margin is desired, place a
  4152. line that says just `\item'.  Don't put any other text on this line.
  4153.  
  4154. Usually, you should put a blank line before an `\item'.  This puts a
  4155. blank line in the Info file. (LaTeX inserts the proper interline
  4156. whitespace in either case.)  Except when the entries are very brief,
  4157. these blank lines make the list look better.
  4158.  
  4159. Here is an example of the use of `\begin{itemize}', followed by the
  4160. output it produces.
  4161.  
  4162.      
  4163.      
  4164.      \begin{itemize}
  4165.      \item
  4166.      Some text for foo.
  4167.      
  4168.      \item
  4169.      Some text
  4170.      for bar.
  4171.      \end{itemize}
  4172.      
  4173.  
  4174.  
  4175. produces
  4176.  
  4177.      
  4178.         * Some text for foo.
  4179.           
  4180.         * Some text
  4181.           for bar.
  4182.      
  4183.  
  4184.  
  4185. Itemized lists may be embedded within other itemized lists. 
  4186.  
  4187. 
  4188. File: latexinfo2.info  Node: enumerate, Prev: Itemize Environment, Up: Lists and Tables, Next: Description Environment
  4189.  
  4190. Enumerate Environment
  4191. =====================
  4192.  
  4193.  
  4194. `\begin{enumerate}' is like `\begin{itemize}' except that the marks in
  4195. the left margin contain successive integers starting with 1.  (See the
  4196. preceeding section.)  Do not put any argument on the same line as
  4197. `\begin{enumerate}'.
  4198.  
  4199. Normally, you should put a blank line between the entries in the list.
  4200. This generally makes it easier to read the Info file.
  4201.  
  4202.      
  4203.      
  4204.      \begin{enumerate}
  4205.      \item
  4206.      Some text for foo.
  4207.      
  4208.      \item
  4209.      Some text for bar.
  4210.      \end{enumerate}
  4211.      
  4212.  
  4213.  
  4214. produces
  4215.  
  4216.      
  4217.        1. Some text for foo.
  4218.           
  4219.        2. Some text
  4220.           for bar.
  4221.      
  4222.  
  4223.  
  4224. 
  4225. File: latexinfo2.info  Node: Description Environment, Prev: enumerate, Up: Lists and Tables, Next: Tabular Environment
  4226.  
  4227. Description Environment
  4228. =======================
  4229.  
  4230.  
  4231. The `description' environment is similar to `\begin{itemize}', but
  4232. allows you to specify a name or heading line for each item.  (*Note
  4233. Itemize Environment::.)  The command is used to produce two-column
  4234. descriptions, and is especially useful for glossaries and explanatory
  4235. exhibits.  You must follow each use of `\item' inside of the description
  4236. environment with text to serve as the heading line for that item.  This
  4237. text is put inside square brackets on the same line as the `\item'
  4238. command.  Each heading line is put into the first column of the table
  4239. and the supporting text, which you put on the line following the line
  4240. beginning with `\item', goes into the second column.
  4241.  
  4242. Usually, you should put a blank line before a `\item'.  This
  4243. puts a blank like in the Info file.  Except when the entries are very
  4244. brief, a blank line looks better.  The following description highlights
  4245. the text in the first column:
  4246.  
  4247. \begin{description}
  4248. \item[foo]
  4249. This is the text for \samp{foo}.
  4250. \item[bar]
  4251. This is the text for \samp{bar}.
  4252. \end{description}
  4253.  
  4254. produces
  4255.  
  4256.      
  4257.      foo     
  4258.           
  4259.           This is the text for `foo'.
  4260.      bar     
  4261.           
  4262.           This is the text for `bar'.
  4263.      
  4264.  
  4265.  
  4266. Info indents the lines of text in the second column, but does not
  4267. automatically fill them.  As a result, the lines in the Info file may
  4268. be too wide.  To prevent this, cause Info to refill the paragraphs
  4269. after processing by adding the command `\refill' to the end
  4270. of the paragraph.  (*Note Refilling Paragraphs::, for more information
  4271. about the use of the `\refill' command.)
  4272.  
  4273. 
  4274. File: latexinfo2.info  Node: Tabular Environment, Prev: Description Environment, Up: Lists and Tables, Next: Figures and Tables
  4275.  
  4276. Tabular Environment
  4277. ===================
  4278.  
  4279.  
  4280. The LaTeX `tabular' environment is weakly supported by LaTeXinfo.  This environment makes it easy to set small multi--column tables.
  4281. The ampersand character has its special LaTeX meaning of a separator
  4282. in tables.  To insert a `&', type `\&'.
  4283.  
  4284. In the `tabular' environment, you must line the columns up the way you
  4285. want them to appear in the Info file, and you must use &as a
  4286. separator.  In the Info file, the separator will become a SPC
  4287. character thus preserving the alignment.  The trailing `\\'
  4288. will be stripped; these *must* occur at the end of the line.
  4289.  
  4290.  
  4291. The `hline' command is supported by the Info program.  It will insert
  4292. a line of hyphens all the way to the current `fill-column'.  Neither
  4293. the `cline' or `multicolumn' commands are supported. For example:
  4294.  
  4295. \begin{table}[hbtp]
  4296. \caption{The First Table's Caption}
  4297. \begin{tabular}{||l|l|l|l||}
  4298. \hline
  4299. Column A        & Column B      & Column C      & Column D      \\
  4300. \hline
  4301. A 1             & B 1           & C 1           & D 1           \\
  4302. A 2             & B 2           & C 2           & D 2           \\
  4303. A 3             & B 3           & C 3           & D 3           \\
  4304. \hline
  4305. \end{tabular}
  4306. \end{table}
  4307.  
  4308.  
  4309. produces in the Info file
  4310.                   Table 1 : The First Table's Caption
  4311. ------------------------------------------------------------------------
  4312. Column A          Column B        Column C        Column D      
  4313. ------------------------------------------------------------------------
  4314. A 1               B 1             C 1             D 1           
  4315. A 2               B 2             C 2             D 2           
  4316. A 3               B 3             C 3             D 3           
  4317. ------------------------------------------------------------------------
  4318.  
  4319.  
  4320.  
  4321.  
  4322. The LaTeX math environments `displaymath', `equation',
  4323. `eqnarray' and `array' are completely ignored in the Info
  4324. file, but will have their LaTeX definitions in the printed manual.
  4325.  
  4326. 
  4327. File: latexinfo2.info  Node: Figures and Tables, Prev: Tabular Environment, Up: Lists and Tables, Next: Formatting Paragraphs
  4328.  
  4329. Figures and Tables
  4330. ==================
  4331.  
  4332.  
  4333. Tables and Figures are only weakly supported by LaTeXinfo.  Anything
  4334. within a `figure' environment is completely ignored in the Info file:
  4335. `\begin{figure}' is equivalent to `\begin{tex}'
  4336.  
  4337. `\begin{table}' is supported by LaTeXinfo, as is the
  4338. `caption' command.  The lines containing the `\begin{table}' and `\end{table}' are deleted from the Info
  4339. file.  The `caption' command causes its argument to be centered on a
  4340. line, preceded by the word Table and the table number.  `caption's are
  4341. assumed to be within tables because figures are not supported.
  4342.  
  4343. 
  4344. File: latexinfo2.info  Node: Formatting Paragraphs, Prev: Figures and Tables, Up: Top, Next: Breaks
  4345.  
  4346. Formatting Paragraphs
  4347. *********************
  4348.  
  4349.  
  4350. * Menu:
  4351.  
  4352. * Breaks::                      Making and Preventing Breaks
  4353. * Break Commands::              The Line Breaking Commands
  4354. * Page Breaking Commands::      The Page Breaking Commands
  4355. * Refilling Paragraphs::        
  4356. * Always Refilling Paragraphs::  
  4357.  
  4358.  
  4359. 
  4360. File: latexinfo2.info  Node: Breaks, Prev: Formatting Paragraphs, Up: Formatting Paragraphs, Next: Break Commands
  4361.  
  4362. Making and Preventing Breaks
  4363. ============================
  4364.  
  4365.  
  4366. Usually, a LaTeXinfo file is processed both by LaTeX and by one of the
  4367. Info formatting commands.  Sometimes line, paragraph, or page breaks
  4368. occur in the `wrong' place in one or other form of output.  You must
  4369. ensure that text looks right both in the printed manual and in the Info
  4370. file.
  4371.  
  4372. For example, in a printed manual, page breaks may occur awkwardly in the
  4373. middle of an example; to prevent this, you can hold text together using
  4374. a grouping command that keeps the text from being split across two
  4375. pages.  Conversely, you may want to force a page break where none would
  4376. occur normally.  Fortunately, problems like these do not often arise.
  4377. When they do, use the following commands.
  4378.  
  4379. * Menu:
  4380.  
  4381. * Break Commands::              Introducing the break commands.
  4382. * Line Breaks::                 How to force lines breaks.
  4383. * w::                           How to prevent unwanted line breaks. 
  4384. * sp::                          How to insert blank lines.
  4385. * clearpage::                   How to force the start of a new page.
  4386. * same::                        How to prevent unwanted page breaks.
  4387. * need::                        Another way to prevent unwanted page breaks.
  4388.  
  4389.  
  4390. 
  4391. File: latexinfo2.info  Node: Break Commands, Prev: Breaks, Up: Formatting Paragraphs, Next: Line Breaks
  4392.  
  4393. The Line Breaking Commands
  4394. ==========================
  4395.  
  4396.  
  4397. The line break commands create line breaks:
  4398.  
  4399. \*     
  4400.      
  4401.      Force a line break in the printed manual and in the Info file.
  4402.      
  4403. \\     
  4404.      Force a line break in the Info file.
  4405.      
  4406. \sp{N}     
  4407.      
  4408.      Skip N blank lines.
  4409.  
  4410.  
  4411. The line-break-prevention command holds text together all on one line.
  4412.  
  4413. \w{TEXT}     
  4414.      
  4415.      Prevent TEXT from being split across two lines.
  4416.  
  4417.  
  4418. * Menu:
  4419.  
  4420. * Line Breaks::                 `\*': Generate Line Breaks
  4421. * w::                           `\w'{TEXT}: Prevent Line Breaks
  4422. * sp::                          `\sp' N: Insert Blank Lines
  4423.  
  4424.  
  4425. 
  4426. File: latexinfo2.info  Node: Line Breaks, Prev: Break Commands, Up: Break Commands, Next: w
  4427.  
  4428. `\*': Generate Line Breaks
  4429. --------------------------
  4430.  
  4431.  
  4432. The `\*' command forces a line break in both the printed manual and in
  4433. Info.  The `\\' command forces a line break in the printed manual.  The
  4434. optional argument to the LaTeX `\\' command is not supported in
  4435. LaTeXinfo.
  4436.  
  4437. For example,
  4438.  
  4439.      
  4440.      This line \* is broken \*in two places.
  4441.  
  4442.  
  4443. produces
  4444.  
  4445.      
  4446.      
  4447.      This line  is broken  in two places.
  4448.      
  4449.  
  4450.  
  4451. (Note that the space after the first `\*' command is faithfully carried
  4452. down to the next line.)
  4453.  
  4454.      
  4455.      
  4456.      This is version 2.0 of the LaTeXinfo documentation,\* 
  4457.      and is for ...
  4458.      
  4459.  
  4460.  
  4461. In this case, the `\*' command keeps LaTeX from stretching the line
  4462. across the whole page in an ugly manner.
  4463.  
  4464. Do not write braces after an `\*' command; they are not needed.  Do not
  4465. write an `\refill' command at the end of a paragraph containing an `\*'
  4466. command; it will cause the paragraph to be refilled after the line break
  4467. occurs, negating the effect of the line break.
  4468.  
  4469. 
  4470. File: latexinfo2.info  Node: w, Prev: Line Breaks, Up: Break Commands, Next: sp
  4471.  
  4472. Preventing Line Breaks
  4473. ----------------------
  4474.  
  4475.  
  4476. `\w{TEXT}' outputs TEXT and prohibits line breaks within TEXT.
  4477.  
  4478. You can use the `\w' command to prevent LaTeX from automatically
  4479. hyphenating a long name or phrase that accidentally falls near the end
  4480. of a line.
  4481.  
  4482.      
  4483.      You can copy GNU software from \w{\file{prep.ai.mit.edu}}.
  4484.  
  4485.  
  4486. produces
  4487.  
  4488.      
  4489.      You can copy GNU software from `prep.ai.mit.edu'.
  4490.  
  4491.  
  4492. In the LaTeXinfo file, you must write the `\w' command and its argument
  4493. (all the affected text) all on one line.
  4494.  
  4495. Do not write an `\refill' command at the end of a paragraph containing
  4496. an `\w' command; it will cause the paragraph to be refilled and may
  4497. thereby negate the effect of the `\w' command.
  4498.  
  4499. 
  4500. File: latexinfo2.info  Node: sp, Prev: w, Up: Break Commands, Next: Page Breaking Commands
  4501.  
  4502. Inserting Blank Lines
  4503. ---------------------
  4504.  
  4505.  
  4506. A line beginning with and containing only `\sp N' generates N blank
  4507. lines of space in both the printed manual and the Info file.  `\sp' also
  4508. forces a paragraph break.  For example,
  4509.  
  4510.      
  4511.      \sp{2}
  4512.  
  4513.  
  4514. generates two blank lines.  
  4515.  
  4516.  
  4517.  
  4518. 
  4519. File: latexinfo2.info  Node: Page Breaking Commands, Prev: sp, Up: Formatting Paragraphs, Next: page
  4520.  
  4521. The Page Breaking Commands
  4522. ==========================
  4523.  
  4524.  
  4525. The pagination commands apply only to printed output, since Info files
  4526. do not have pages.
  4527.  
  4528. \clearpage     
  4529.      
  4530.      Start a new page in the printed manual.
  4531.      
  4532. \begin{same}     
  4533.      
  4534.      Hold text together that must appear on one printed page.  End the
  4535.      text to be held together with \code{\back begin\{same\}}
  4536.      
  4537. \need{MILS}     
  4538.      
  4539.      Start a new printed page if not enough space on this one.
  4540.  
  4541.  
  4542. * Menu:
  4543.  
  4544. * page::                        Start a New Page
  4545. * group::                       Putting things on the Same Page
  4546. * need::                        Prevent Page Breaks
  4547.  
  4548.  
  4549. 
  4550. File: latexinfo2.info  Node: page, Prev: Page Breaking Commands, Up: Page Breaking Commands, Next: group
  4551.  
  4552. Start a New Page
  4553. ----------------
  4554.  
  4555.  
  4556. A line containing only `\clearpage' starts a new page in a printed
  4557. manual.  The command has no effect on Info files since they are not
  4558. paginated.  An `\clearpage' command is often used in the title section
  4559. of a LaTeXinfo file to start the copyright page.
  4560.  
  4561. 
  4562. File: latexinfo2.info  Node: group, Prev: page, Up: Page Breaking Commands, Next: need
  4563.  
  4564. Putting things on the Same Page
  4565. -------------------------------
  4566.  
  4567.  
  4568. The `\begin{same}' command (on a line by itself) is used inside of an
  4569. `\begin{example}' or similar construct to begin an unsplittable vertical
  4570. group, which will appear entirely on one page in the printed output.
  4571. The group is terminated by a line containing only `\end{same}'.  These
  4572. two lines produce no output of their own, and in the Info file output
  4573. they have no effect at all.
  4574.  
  4575. Although `\begin{same}' would make sense conceptually in a wide variety
  4576. of contexts, its current implementation works reliably only within
  4577. `\begin{example}' and variants, and within `\begin{quote}',
  4578. `\begin{display}', `\begin{format}', `\begin{flushleft}' and
  4579. `\begin{flushright}'.  (What all these commands have in common is that
  4580. they turn off vertical spacing between "paragraphs".)  In other
  4581. contexts, `\begin{same}' can cause anomalous vertical spacing. *Note
  4582. Displaying Material::.
  4583.  
  4584.  
  4585. with the `\begin{same}' and `\end{same}' command
  4586. insides of the `\begin{example}' and `\end{example}' commands.
  4587.  
  4588. The `\begin{same}' command is most often used to hold an
  4589. example together on one page.  In this LaTeXinfo manual, about 100
  4590. examples contain text that is enclosed between `\begin{same}' and `\end group'.
  4591.  
  4592. 
  4593. File: latexinfo2.info  Node: need, Prev: group, Up: Page Breaking Commands, Next: Refilling Paragraphs
  4594.  
  4595. Prevent Page Breaks
  4596. -------------------
  4597.  
  4598.  
  4599. A line containing only `\need N' starts a new page in a printed manual
  4600. if fewer than N mils (thousandths of an inch) remain on the current
  4601. page.  The `\need' command has no effect on Info files since they are
  4602. not paginated.
  4603.  
  4604. This paragraph is preceded by an `\need' command that tells LaTeX to
  4605. start a new page if fewer than 300 mils (nearly one-third inch) remain
  4606. on the page.  It looks like this:
  4607.  
  4608.      
  4609.      
  4610.      \need{300}
  4611.      This paragraph is preceded by ...
  4612.      
  4613.  
  4614.  
  4615. The `\need' command is useful for preventing orphans (single lines at
  4616. the bottoms of printed pages).
  4617.  
  4618. 
  4619. File: latexinfo2.info  Node: Refilling Paragraphs, Prev: need, Up: Formatting Paragraphs, Next: Always Refilling Paragraphs
  4620.  
  4621. Refilling Paragraphs
  4622. ====================
  4623.  
  4624.     
  4625.  
  4626. The `\refill' command refills and, optionally, indents the first line of
  4627. a paragraph. (7) (*Note Refilling Paragraphs-Footnotes::)
  4628.  
  4629. If a paragraph contains long \-constructs, the paragraph may look badly
  4630. filled after being formatted by `latexinfo-format-region' or
  4631. `latexinfo-format-buffer'.  This is because both of thes commands remove
  4632. \-commands from formatted text but do not refill paragraphs
  4633. automatically although LaTeX does.  Consequently, some lines become
  4634. shorter than they were.  To cause these commands to refill a paragraph,
  4635. write `\refill' at the end of the paragraph.  This command refills a
  4636. paragraph in the Info file after all the other processing has been done.
  4637. `\refill' has no effect on LaTeX, which always fills every paragraph
  4638. that ought to be filled.
  4639.  
  4640. For example, without any indenting, the following
  4641.  
  4642.      
  4643.      To use \code{foo}, pass \samp{xx%$} and
  4644.      \var{flag} and type \kbd{x} after running
  4645.      \code{make-foo}.\refill
  4646.  
  4647.  
  4648. produces (in the Info file)
  4649.  
  4650.      
  4651.      To use `foo', pass `xx%$' and FLAG and type `x' after 
  4652.      running `make-foo'.
  4653.  
  4654.  
  4655. whereas without the `\refill' it would produce
  4656.  
  4657.      
  4658.      To use `foo', pass `xx%$' and
  4659.      FLAG and type `x' after running
  4660.      `make-foo'.
  4661.  
  4662.  
  4663. with the line broken at the same place as in the LaTeXinfo input file.
  4664.  
  4665. Write the `\refill' command at the end of the paragraph.  Do not put a
  4666. space before `\refill'; otherwise the command might be put at the
  4667. beginning of the line when you refill the paragraph in the LaTeXinfo
  4668. file with Emacs command `M-q' (`fill-paragraph').  If this were to
  4669. happen, the `\refill' command might fail to work.  Do not put braces
  4670. after `\refill'.  Because an `\refill' command is placed at the end of a
  4671. paragraph and never at the beginning of a line, the braces are not
  4672. necessary.
  4673.  
  4674. You can write an `\refill' command at the end of a footnote before the
  4675. footnote's closing brace, even if the footnote text is embedded in a the
  4676. middle of a paragraph in the LaTeXinfo file.  This is because the
  4677. footnote text is extracted from the surrounding text and formatted on
  4678. its own.
  4679.  
  4680. Also, do not end a paragraph that uses either `\*' or `\w' with an
  4681. `\refill' command; otherwise, `latexinfo-format-buffer' or
  4682. `latexinfo-format-buffer' will refill the paragraph in spite of those
  4683. commands.
  4684.  
  4685. In addition to refilling, the `\refill' command may insert spaces at the
  4686. beginning of the first line of the paragraph, thereby indenting that
  4687. line.  The argument to the `\paragraphindent' command specifies the
  4688. amount of indentation: if the value of the argument is 0, an `\refill'
  4689. command deletes existing indentation.  If the value of the argument is
  4690. greater than 0, an `\refill' command indents the paragraph by that
  4691. number of spaces.  And if the value of the argument is `asis', an
  4692. `\refill' command does not change existing indentation.  For more
  4693. information about the `\paragraphindent' command, *Note Paragraph
  4694. Indenting: paragraphindent.
  4695.  
  4696. The `\refill' command does not indent entries in a list, table, or
  4697. definition, nor does `\refill' indent paragraphs preceded by
  4698. `\noindent'.
  4699.  
  4700.  
  4701. 
  4702. File: latexinfo2.info  Node: Refilling Paragraphs-Footnotes, Up: Refilling Paragraphs
  4703.  
  4704. (7) Perhaps the command should have been called the `\refillandindent' command, but `\refill' is shorter and the
  4705. name was chosen before indenting was available.
  4706.  
  4707. 
  4708. File: latexinfo2.info  Node: Always Refilling Paragraphs, Prev: Refilling Paragraphs, Up: Formatting Paragraphs, Next: Citations and Footnotes
  4709.  
  4710. Always Refilling Paragraphs
  4711. ===========================
  4712.  
  4713.     
  4714.  
  4715. In practice, one finds that many paragraphs in a LaTeXinfo document need
  4716. refilling, and one's document is littered with `\refill' commands.  One
  4717. solution is to write a 6000 line `C' program to do the refilling
  4718. automatically. This would have the advantage of great speed, but would
  4719. mean maintaining a two versions of the Info formating program, one in
  4720. `C' and one in Emacs lisp.
  4721.  
  4722. Another solution is to implement a heuristic (8) (*Note Always Refilling
  4723. Paragraphs-Footnotes::) that searches for likely candidates for
  4724. refilling, and inserts a `\refill' command there.  At the
  4725. moment, the replacement takes place at any period followed by two
  4726. newlines, or a period followed by a newline, followed by `\end{'.  Of course, no replacements are made within
  4727. `verbatim' or
  4728. `smallverbatim' environments.
  4729.  
  4730.      This is implemented as a search and replace of all occurences matching
  4731.      the string `".\n\n"' or `".\n\end{"'.
  4732.      This feature is likely to slow things down on a large document.
  4733.      This matching string should probably be changed to the regular expression
  4734.      \\s.\n\n or \\s.\n\end{
  4735.  
  4736.  
  4737. 
  4738. File: latexinfo2.info  Node: Always Refilling Paragraphs-Footnotes, Up: Always Refilling Paragraphs
  4739.  
  4740. (8) The `H' in Heuristic is pronounced, as in Hack.
  4741.  
  4742. 
  4743. File: latexinfo2.info  Node: Citations and Footnotes, Prev: Always Refilling Paragraphs, Up: Top, Next: Footnotes
  4744.  
  4745. Citations and Footnotes
  4746. ***********************
  4747.  
  4748.  
  4749. * Menu:
  4750.  
  4751. * Footnotes::                   
  4752. * Citations::                   
  4753.  
  4754.  
  4755. 
  4756. File: latexinfo2.info  Node: Footnotes, Prev: Citations and Footnotes, Up: Citations and Footnotes, Next: Citations
  4757.  
  4758. Footnotes
  4759. =========
  4760.  
  4761.  
  4762. A "footnote" is for a reference that documents or elucidates the primary
  4763. text. (9) (*Note Footnotes-Footnotes::) In LaTeXinfo, footnotes are
  4764. created with the `\footnote' command.  This command is followed
  4765. immediately by a left brace, then by the text of the footnote, and then
  4766. by a terminating right brace.  The template is: `\footnote'{TEXT}.
  4767.  
  4768. For example, this clause is followed by a sample footnote; (10) (*Note
  4769. Footnotes-Footnotes::) in the LaTeXinfo source, it looks like this:
  4770.  
  4771.      
  4772.      ...a sample footnote \footnote;{Here is the sample 
  4773.      footnote.} in the LaTeXinfo source...
  4774.  
  4775.  
  4776. In a printed manual or book, the reference mark for a footnote is a
  4777. small, superscripted number; the text of the footnote is written at the
  4778. bottom of the page, below a horizontal line.
  4779.  
  4780. In Info, the reference mark for a footnote is a pair of parentheses with
  4781. the footnote number between them, like this: `(1)'.  Info has two
  4782. footnote styles, which determine where the text of the footnote is
  4783. located:
  4784.  
  4785.    * 
  4786.      In the "end" of node style, all the footnotes for a single node are
  4787.      placed at the end of that node.  The footnotes are separated from
  4788.      the rest of the node by a line of dashes with the word `Footnotes'
  4789.      within it.  Each footnote begins with an `(N)' reference mark.
  4790.      
  4791.      Here is an example of a single footnote in the end of node style:
  4792.      
  4793.           
  4794.           
  4795.            --------- Footnotes ---------
  4796.           
  4797.           (1)  Here is a sample footnote.
  4798.           
  4799.      
  4800.      
  4801.    * 
  4802.      In the "separate" style, all the footnotes for a single node are
  4803.      placed in an automatically constructed node of their own.  In this
  4804.      style, a "footnote reference" follows each `(N)' reference mark in
  4805.      the body of the node.  The footnote reference is actually a cross
  4806.      reference and you use it to reach the footnote node.
  4807.      
  4808.      The name of the footnotes' node is constructed by appending
  4809.      `-Footnotes' to the name of the node that contains the footnotes.
  4810.      (Consequently, the footnotes' node for the `Footnotes' node is
  4811.      `Footnotes-Footnotes'!)  The footnotes' node has an `Up' node
  4812.      pointer that leads back to its parent node.
  4813.  
  4814.  
  4815. Here is how the first footnote in this manual looks after being
  4816. formatted for Info in the separate node style:
  4817.  
  4818.      
  4819.      File: latexinfo.info  Node: Overview-Footnotes, Up: Overview
  4820.      
  4821.      (1) Note that the first syllable of "texinfo" is pronounced like
  4822.      "speck", not "hex". ...
  4823.  
  4824.  
  4825. A LaTeXinfo file may be formatted into an Info file with either footnote
  4826. style.
  4827.  
  4828. Use the `\footnotestyle' command to specify an Info file's footnote
  4829. style.  Write this command at the beginning of a line followed by an
  4830. argument, either `end' for the end node style or `separate' for the
  4831. separate node style.  For example:
  4832.  
  4833.      
  4834.      \footnotestyle{end}
  4835.  
  4836. or
  4837.      
  4838.      \footnotestyle{separate}
  4839.  
  4840.  
  4841. The `\footnotestyle' command should be written in the header, before the
  4842. `\setfilename' and shortly after the `\begin{document}' at the beginning
  4843. of a LaTeXinfo file.  *Note Custom Headings::. (If you include the
  4844. `\footnotestyle' command between the start of header and end of header
  4845. lines, the region formatting commands will format footnotes as
  4846. specified.)  If you do not specify a footnote style, the formatting
  4847. commands will chose a default style.
  4848.  
  4849. 
  4850. File: latexinfo2.info  Node: Footnotes-Footnotes, Up: Footnotes
  4851.  
  4852. (9) A footnote should complement or expand upon the primary text, but a
  4853. reader should not need to read a footnote to understand the primary
  4854. text.  For a thorough discussion of footnotes, see The Chicago Manual
  4855. of Style, which is published by the University of Chicago Press.
  4856.  
  4857. (10) Here is the sample footnote.
  4858.  
  4859. 
  4860. File: latexinfo2.info  Node: Citations, Prev: Footnotes, Up: Citations and Footnotes, Next: Input and Include Files
  4861.  
  4862. Citations
  4863. =========
  4864.  
  4865.  
  4866. `\cite' is the LaTeX command for a bibliographic citations.  Citations
  4867. are usually prepared using the program BibTeX, which formats the
  4868. citations for use with LaTeX.  The argument to the `\cite' command is
  4869. the citation key, which appears in the printed manual as the citation
  4870. key surrounded by square brackets.  How it appears in the printed manual
  4871. is dependent on the bibliographic style chosen.  See the LaTeXfor more
  4872. details [Lamport1986].
  4873.  
  4874. Before you use the `\cite' command, you must declare the
  4875. bibliography style that you are going to use.
  4876. *Note Making a Bibliography::.
  4877.  
  4878. 
  4879. File: latexinfo2.info  Node: Input and Include Files, Prev: Citations, Up: Top, Next: Input Files
  4880.  
  4881. Input and Include Files
  4882. ***********************
  4883.  
  4884.  
  4885. LaTeX has two ways of including files: with the `\input'
  4886. command, and with the `\include' command.  LaTeX makes some
  4887. important distinctions between the two.  See
  4888. [Lamport1986, Section 4.4] for the exact nature of the differences.
  4889. In LaTeX.  Input files are simply inserted at the place where the
  4890. `input' command occurs, both in the Info file and the LaTeX file.
  4891. `include' files have seperate auxilliarly files (`.aux'), and you can
  4892. control which files are processed with the `includeonly' command.
  4893.  
  4894. In LaTeXinfo, the Info program ignores the `includeonly' command.
  4895. Both `include' and `input' files are always processed.
  4896. `input' files are always ignored by the
  4897. `latexinfo-multiple-files-update' command, which creates or updates
  4898. or updates the `\node' entries in a file, whereas, under
  4899. certain conditions, this command will recognize the structure of
  4900. `include' files.  *Note latexinfo-multiple-files-update:: for
  4901. details
  4902.  
  4903. * Menu:
  4904.  
  4905. * Input Files::                 
  4906. * Include Files::               
  4907.  
  4908.  
  4909. 
  4910. File: latexinfo2.info  Node: Input Files, Prev: Input and Include Files, Up: Input and Include Files, Next: Include Files
  4911.  
  4912. Input Files
  4913. ===========
  4914.  
  4915.  
  4916. A line of the form `\input{FILENAME}' will include the contents of the
  4917. file FILENAME at that point.  A standard technique is to have a
  4918. top--level file, used only for making a comprehensive manual, containing
  4919. nothing but the beginning, the end, and a series of `\input' commands.
  4920. The `\input' *must* occur at the beginning of a line.
  4921.  
  4922. A file that is intended to be processed with `\input' should not
  4923. end with `\end{document}', since that would terminate LaTeXimmediately.
  4924.  
  4925.  
  4926. 
  4927. File: latexinfo2.info  Node: Include Files, Prev: Input Files, Up: Input and Include Files, Next: Using Include Files
  4928.  
  4929. Include Files
  4930. =============
  4931.  
  4932.  
  4933. When LaTeX or an Info formatting command sees an `\include' command in a
  4934. LaTeXinfo file, it processes the contents of the file named by the
  4935. command and incorporates them into the dvi or Info file being created.
  4936. Index entries from the included file are incorporated into the indices
  4937. of the output file.
  4938.  
  4939. An included file should simply be a segment of text that you expect to
  4940. be included as-is into the overall or "outer" LaTeXinfo file; it should
  4941. not contain the standard beginning and end parts of a LaTeXinfo file.
  4942. In particular, you should not start an included file with a
  4943. `\documentstyle' command. Likewise, you should not end an included file
  4944. with an `\end{document}' command; that command will stop LaTeX
  4945. processing immediately.
  4946.  
  4947. * Menu:
  4948.  
  4949. * Using Include Files::         How to use the `\include' command.
  4950. * Sample Include File::         A sample outer file with included files
  4951.                                   within it; and a sample included file.
  4952.  
  4953.  
  4954. 
  4955. File: latexinfo2.info  Node: Using Include Files, Prev: Include Files, Up: Include Files, Next: Sample Include File
  4956.  
  4957. How to Use Include Files 
  4958. -------------------------
  4959.  
  4960.  
  4961. To include another file within a LaTeXinfo file, write the `\include'
  4962. command at the beginning of a line and follow it on the same line by the
  4963. name of a file to be included.  For example:
  4964.  
  4965.      
  4966.      \include{chap47.tex}
  4967.  
  4968.  
  4969.  
  4970. Conventionally, an included file begins with an `\node' line that is
  4971. followed by an `\chapter' line.  Each included file is one chapter.
  4972. This makes it easy to use the regular node and menu creating and
  4973. updating commands to create the node pointers and menus within the
  4974. included file.  However, the simple Emacs node and menu creating and
  4975. updating commands do not work with multiple LaTeXinfo files.  Thus you
  4976. cannot use these commands to fill in the `Next', `Previous', and `Up'
  4977. pointers of the `\node' line that begins the included file.  Also, you
  4978. cannot use the regular commands to create a master menu for the whole
  4979. file.  Either you must insert the menus and the first and last `Next',
  4980. `Previous', and `Up' pointers by hand, or you must use the
  4981. `latexinfo-multiple-files-update' command that is designed for
  4982. `\include' files.  *Note latexinfo-multiple-files-update::
  4983.  
  4984. 
  4985. File: latexinfo2.info  Node: Sample Include File, Prev: Using Include Files, Up: Include Files, Next: Definition Commands
  4986.  
  4987. Sample File with `\include'
  4988. ---------------------------
  4989.  
  4990.  
  4991. If you plan to use the `latexinfo-multiple-files-update' command, the
  4992. outer LaTeXinfo file that lists included files within it should contain
  4993. nothing but the beginning and end parts of a LaTeXinfo file, and a
  4994. number of `\include' commands listing the included files.  It should not
  4995. even include indices, which should be listed in an included file of
  4996. their own.
  4997.  
  4998. Moreover, each of the included files must contain exactly one highest
  4999. level node (conventionally, an `\chapter' node or equivalent), and this
  5000. node must be the first node in the included file.  Furthermore, each of
  5001. these highest level nodes in each included file must be at the same
  5002. hierarchical level in the file structure.  Usually, each is an
  5003. `\chapter', an `\chapter', or an `\unnumbered' node.  Thus, normally,
  5004. each included file contains one, and only one, chapter or
  5005. equivalent-level node.
  5006.  
  5007. The outer file should *not* contain any nodes besides the single `Top'
  5008. node.  The `latexinfo-multiple-files-update' command will not process
  5009. them.
  5010.  
  5011. Here is an example of an outer LaTeXinfo file with `\include' files
  5012. within it before running `latexinfo-multiple-files-update', which would
  5013. insert a main or master menu:
  5014.  
  5015.  \documentstyle[12pt,latexinfo]{book}
  5016.  \pagestyle{headings}
  5017.  \begin{document}
  5018.  \bibliographystyle{alpha}
  5019.  
  5020.  \newindex{fn}
  5021.  
  5022.  \title{The Manual}
  5023.  
  5024.  \author{Fred Foobar,\\
  5025.         Clarke Institute,\\
  5026.         999 Queen Street,\\
  5027.         Toronto, Ontario}
  5028.  
  5029.  \date{\today}
  5030.  
  5031.  \maketitle
  5032.  \tableofcontents
  5033.  \clearpage
  5034.  
  5035.  \setfilename{themanual.info}
  5036.  
  5037.  \include{foo.tex}
  5038.  \include{bar.tex}
  5039.  
  5040.  \bibliography{references}
  5041.  
  5042.  \twocolumn
  5043.  \unnumbered{Function Index}
  5044.  \printindex{fn}
  5045.  
  5046. \end{document}
  5047.  
  5048.  
  5049. An included file, such as `foo.tex', might look like this:
  5050.  
  5051.      
  5052.      
  5053.      \node First, Second, , Top
  5054.      \chapter{First Chapter}
  5055.      
  5056.      Contents of first chapter ...
  5057.      
  5058.  
  5059.  
  5060. The full contents of `index.tex' might be as simple as this:
  5061.  
  5062.      
  5063.      
  5064.      \unnumbered{Concept Index, , Second, Top}
  5065.      \printindex{cp}
  5066.      
  5067.  
  5068.  
  5069.  
  5070. 
  5071. File: latexinfo2.info  Node: Definition Commands, Prev: Sample Include File, Up: Top, Next: Untyped Languages Definition Commands
  5072.  
  5073. Definition Commands
  5074. *******************
  5075.  
  5076.     
  5077.  
  5078. The `\deffn' command and the other "definition commands" enable you to
  5079. describe functions, variables, macros, commands, user options, special
  5080. forms and other such constructs in a uniform format.
  5081.  
  5082. These constructs are most often used for documenting Lisp and C programs,
  5083. and the table below summarizes the different constucts, their language on
  5084. usual  usage, and their class.  We will order these functions by their
  5085. usage: untyped languages such as Lisp, typed languages such as C,
  5086. or object--oriented langauges such as CLOS.
  5087.  
  5088. ------------------------------------------------------------------------
  5089. Command Name      Language        Class 
  5090. ------------------------------------------------------------------------
  5091. deffn             Lisp            general functions             
  5092. deffun            Lisp            functions                     
  5093. defspec           Lisp            special forms                 
  5094. defmac            Lisp            macros                        
  5095. defvr             Lisp            general variables             
  5096. defvar            Lisp            variables                     
  5097. ------------------------------------------------------------------------
  5098. deftypefn         C               general typed functions       
  5099. deftypefun        C               typed functions               
  5100. deftypevr         C               general typed variables       
  5101. deftypevar        C               typed variables               
  5102. ------------------------------------------------------------------------
  5103. defcv             CLOS            general classes               
  5104. defvar            CLOS            classes                       
  5105. defivar           CLOS            instances                     
  5106. defop             CLOS            generic functions             
  5107. defmethod         CLOS            methods                       
  5108. ------------------------------------------------------------------------
  5109. deftp             All             data types                    
  5110. defopt            All             User Options                  
  5111. ------------------------------------------------------------------------
  5112.  
  5113.                    Table 1 : The Definition Commands
  5114.  
  5115.  
  5116. In the Info file, a definition causes the category entity---`Function',
  5117. `Variable', or whatever---to appear at the beginning of the first line of
  5118. the definition, followed by the entity's name and arguments.  In the
  5119. printed manual, the command causes LaTeX to print the entity's name and
  5120. its arguments on the left margin and print the category next to the right
  5121. margin.  In both output formats, the body of the definition is indented.
  5122.  
  5123. The name of the entity is entered into the appropriate index: `\deffn'
  5124. enters the name into the index of functions, `\defvr' enters it into the
  5125. index of variables, and so on.
  5126.  
  5127. As these functions are not always wanted, their definitions are contained
  5128. in the LaTeXinfo style `elisp'.  To make these commands available to
  5129. LaTeXinfo, include the `elisp' option in the list of 
  5130. `documentstyle' options, such as
  5131.  
  5132. \documentstyle[latexinfo,elisp]{book}
  5133.  
  5134.      The Lisp documentation functions in the `elisp' style are
  5135.      compatible with the Emacs TeXinfo fuunctions, and are intended to
  5136.      document the GNU Emacs `elisp'.  As such, they are oriented to the
  5137.      older Maclisp style of programming. *Note Clisp Style::, for a more
  5138.      modern approach to a Lisp documentation style, as would be used for
  5139.      Common Lisp.
  5140.  
  5141.  
  5142.  
  5143.  
  5144. * Menu:
  5145.  
  5146. * Untyped Languages Definition Commands::  
  5147. * C Functions::                 
  5148. * Abstract Objects::            Object-Oriented Programming
  5149. * Sample Function Definition::  A Sample Function Definition
  5150.  
  5151.  
  5152. 
  5153. File: latexinfo2.info  Node: Untyped Languages Definition Commands, Prev: Definition Commands, Up: Definition Commands, Next: Def Cmd Template
  5154.  
  5155. Untyped Languages Definition Commands
  5156. =====================================
  5157.  
  5158.  
  5159. * Menu:
  5160.  
  5161. * Def Cmd Template::            How to structure a description using a
  5162.                                   definition command.
  5163. * Optional Parameters::         How to handle optional and repeated parameters.
  5164. * Def Cmds in Detail::          All the definition commands.
  5165. * Functions Commands::          Functions and Similar Entities
  5166. * Variables Commands::          Variables and Similar Entities
  5167.  
  5168.  
  5169. 
  5170. File: latexinfo2.info  Node: Def Cmd Template, Prev: Untyped Languages Definition Commands, Up: Untyped Languages Definition Commands, Next: Optional Parameters
  5171.  
  5172. The Template for a Definition
  5173. -----------------------------
  5174.  
  5175.  
  5176. The `\deffn' command is used for definitions of entities that resemble
  5177. functions.  To write a definition using the `\deffn' command, write the
  5178. `\deffn' command at the beginning of a line and follow it by the
  5179. category of the entity, the name of the entity itself, and its arguments
  5180. in braces.  Then write the body of the definition on succeeding lines.
  5181. (You may embed examples in the body.)  Finally, end the definition with
  5182. an `\enddeffn' command written on a line of its own.  The other
  5183. definition commands follow the same format.  The template for a
  5184. definition looks like this:
  5185.  
  5186.      
  5187.      \deffn{CATEGORY}{NAME}{ARGUMENTS...}
  5188.      BODY-OF-DEFINITION
  5189.      \enddeffn
  5190.  
  5191.  
  5192. For example,
  5193.      
  5194.      \deffn{Command}{forward-word}{count}
  5195.      This command moves point forward \var{count} words 
  5196.      (or backward if \var{count} is negative). ...
  5197.      \enddeffn
  5198.  
  5199.  
  5200. produces
  5201.  
  5202.      
  5203.      
  5204.      
  5205.       -- Command: forward-word COUNT
  5206.           This function moves point forward COUNT words
  5207.           (or backward if COUNT is negative). ...
  5208.      
  5209.  
  5210.  
  5211. Some of the definition commands are more general than others.  The
  5212. `\deffn' command, for example, is the general definition command for
  5213. functions and the like---for entities that may take arguments.  When you
  5214. use this command, you specify the category to which the entity belongs.
  5215. The `\deffn' command possesses three predefined, specialized variations,
  5216. `\defun', `\defmac', and `\defspec', that specify the category for you:
  5217. "Function", "Macro", and "Special Form" respectively.  The `\defvr'
  5218. command also is accompanied by several predefined, specialized
  5219. variations for describing particular kinds of variables.
  5220.  
  5221. The template for a specialized definition, such as `\defun', is similar
  5222. to the template for a generalized definition, except that you don't have
  5223. to specify the category:
  5224.      
  5225.      \defun{NAME}{ARGUMENTS...} 
  5226.      BODY-OF-DEFINITION
  5227.      \enddefun
  5228.  
  5229.  
  5230. Thus,
  5231.      
  5232.      \defun{buffer-end}{flag} 
  5233.      This function returns \code{(point-min)} if \var{flag}
  5234.      is less than 1, \code{(point-max)} otherwise.
  5235.      ... 
  5236.      \enddefun
  5237.  
  5238.  
  5239. produces
  5240.  
  5241.  
  5242.  
  5243.  -- Function: buffer-end FLAG
  5244.  
  5245.      This function returns `(point-min)' if FLAG is less than 1,
  5246.      `(point-max)' otherwise.  ...
  5247.  
  5248.  
  5249. *Note Sample Function Definition: Sample Function Definition, for a more
  5250. detailed example of a function definition, including the use of
  5251. `\begin{example}' inside of the definition.
  5252.  
  5253. The other specialized commands work like `\defun'.
  5254.  
  5255. 
  5256. File: latexinfo2.info  Node: Optional Parameters, Prev: Def Cmd Template, Up: Untyped Languages Definition Commands, Next: Def Cmds in Detail
  5257.  
  5258. Optional and Repeated Parameters
  5259. --------------------------------
  5260.  
  5261.  
  5262. Some entities take optional or repeated parameters, which may be
  5263. specified by a distinctive special glyph that uses square brackets and
  5264. ellipses.  For example, a special form often breaks its argument list
  5265. into separate arguments in more complicated ways than a straightforward
  5266. function.
  5267.  
  5268.  
  5269. An argument enclosed within square brackets is optional.  Thus,
  5270. [OPTIONAL-ARG] means that OPTIONAL-ARG is optional.  An argument
  5271. followed by an ellipsis is optional and may be repeated more than once.
  5272. Thus, REPEATED-ARGS... stands for zero or more arguments.  Parentheses
  5273. are used when several arguments are grouped into additional levels of
  5274. list structure in Lisp.
  5275.  
  5276. Here is the `\defspec' line of an example of an imaginary special form:
  5277.  
  5278.      
  5279.      
  5280.      
  5281.       -- Special form: foobar VAR [FROM TO [INC]]
  5282.      
  5283.           BODY...
  5284.      
  5285.  
  5286.  
  5287. In this example, the arguments FROM and TO are optional, but must both
  5288. be present or both absent.  If they are present, INC may optionally be
  5289. specified as well.  In a LaTeXinfo source file, this `\defspec' line is
  5290. written like this:
  5291.  
  5292.      
  5293.      \defspec{foobar}{\var{var} [\var{from} \var{to}
  5294.           [\var{inc}]]}
  5295.      \var{body}\dots{}
  5296.      \enddefspec
  5297.  
  5298.  
  5299. The function is listed in the Command and Variable Index under `foobar'.
  5300.  
  5301. 
  5302. File: latexinfo2.info  Node: Def Cmds in Detail, Prev: Optional Parameters, Up: Untyped Languages Definition Commands, Next: Functions Commands
  5303.  
  5304. The Definition Commands
  5305. -----------------------
  5306.  
  5307.  
  5308. The definition commands automatically enter the name of the entity in
  5309. the appropriate index: for example, `\deffn', `\defun', and `\defmac'
  5310. enter function names in the index of functions; `\defvr' and `\defvar'
  5311. enter variable names in the index of variables. Remember to declare the
  5312. necessary indices with the `\newindex' commands (*Note New Indexes::).
  5313.  
  5314. Although the examples that follow mostly illustrate Lisp, the commands
  5315. can be used for other programming languages.
  5316.  
  5317. * Menu:
  5318.  
  5319. * Functions Commands::          Commands for functions.
  5320. * Variables Commands::          Commands for variables.
  5321. * Typed Functions::             Commands for functions in typed languages.
  5322. * Typed Variables::             Commands for variables in typed languages.
  5323. * Abstract Objects::            Commands for object-oriented programming.
  5324. * Data Types::                  The definition command for data types.
  5325.  
  5326.  
  5327. 
  5328. File: latexinfo2.info  Node: Functions Commands, Prev: Def Cmds in Detail, Up: Untyped Languages Definition Commands, Next: Variables Commands
  5329.  
  5330. Functions
  5331. ---------
  5332.  
  5333.  
  5334. This section describes the commands for describing functions and similar
  5335. entities.
  5336.  
  5337. \DEFFN{CATEGORY}{NAME}{ARGUMENTS...} The `\deffn' command is the general
  5338. definition command for functions, interactive commands, that may take
  5339. arguments.  You must choose a term to describe the category of entity
  5340. being defined; for example, "Function" could be used if the entity is a
  5341. function.  The `\deffn' command is written at the beginning of a line
  5342. and is followed by the category of entity being described, the name of
  5343. this particular entity, and its arguments, if any.  Terminate the
  5344. definition with `\enddeffn' on a line of its own.
  5345.  
  5346. For example,
  5347.      
  5348.      \deffn{Command}{forward-char}{nchars}
  5349.      Move point forward \var{nchars} characters.
  5350.      \enddeffn
  5351.  
  5352.  
  5353. shows a rather terse definition for a "command" named
  5354. `forward-char' with one argument, NCHARS.
  5355.  
  5356. `\deffn' prints argument names such as NCHARS in italics or upper case,
  5357. as if `\var' had been used, because we think of these names as
  5358. metasyntactic variables---they stand for the actual argument values.
  5359. Within the text of the description, write an argument name explicitly
  5360. with `\var' to refer to the value of the argument.  In the example
  5361. above, we used `\var{nchars}' in this way.  The template for `\deffn'
  5362. is:
  5363.      
  5364.      \deffn{CATEGORY}{NAME}{ARGUMENTS...}
  5365.      BODY-OF-DEFINITION 
  5366.      \enddeffn
  5367.  
  5368.  
  5369. \DEFUN{NAME}{ARGUMENTS...} The `\defun' command is the definition
  5370. command for functions.  `\defun' is equivalent to `\deffn{Function}
  5371. ...'.
  5372.  
  5373. For example,
  5374.      
  5375.      \defun{set}{symbol new-value}
  5376.      Change the value of the symbol SYMBOL to NEW-VALUE.
  5377.      \enddefun
  5378.  
  5379.  
  5380. shows a rather terse definition for a function `set' whose arguments are
  5381. SYMBOL and NEW-VALUE.  The argument names on the `\defun' line
  5382. automatically appear in italics or upper case as if they were enclosed
  5383. in `\var'.  Terminate the definition with `\enddefun' on a line of its
  5384. own. The template is:
  5385.      
  5386.      \defun{FUNCTION-NAME}{ARGUMENTS...} 
  5387.      BODY-OF-DEFINITION
  5388.      \enddefun
  5389.  
  5390.  
  5391. `\defun' creates an entry in the index of functions.
  5392.  
  5393. \DEFMAC{NAME}{ARGUMENTS...} The `\defmac' command is the definition
  5394. command for macros.  `\defmac' is equivalent to `\deffn{Macro}...' and
  5395. works like `\defun'.
  5396.  
  5397. \DEFSPEC{NAME}{ARGUMENTS...} The `\defspec' command is the definition
  5398. command for special forms.  `\defspec' is equivalent to `\deffn{Special
  5399. Form} ...' and works like `\defun'.
  5400.  
  5401. 
  5402. File: latexinfo2.info  Node: Variables Commands, Prev: Functions Commands, Up: Untyped Languages Definition Commands, Next: C Functions
  5403.  
  5404. Variables
  5405. ---------
  5406.  
  5407.  
  5408. Here are the commands for defining variables and similar entities:
  5409.  
  5410. \DEFVR{CATEGORY}{NAME} The
  5411. `\defvr' command is a general definition command for something like a
  5412. variable---an entity that records a value.  You must choose a term to
  5413. describe the category of entity being defined; for example, "Variable"
  5414. could be used if the entity is a variable.  Write the `\defvr' command
  5415. at the beginning of a line and follow it by the category of the entity
  5416. and the name of the entity. Terminate the definition with `\enddefvr' on
  5417. a line of its own.  For example:
  5418.  
  5419.      
  5420.      \defvr{User Option}{fill-column}
  5421.      This buffer-local variable specifies 
  5422.      the maximum width of filled lines.  
  5423.      ... 
  5424.      \enddefvr
  5425.  
  5426.  
  5427.  
  5428. The template is:
  5429.      
  5430.      \defvr{CATEGORY}{NAME} 
  5431.      BODY-OF-DEFINITION 
  5432.      \enddefvr
  5433.  
  5434.  
  5435. `\defvr' creates an entry in the index of variables for NAME.
  5436.  
  5437. \DEFVAR{NAME}
  5438. The `\defvar' command is the definition command for
  5439. variables.  `\defvar' is equivalent to `\defvr{Variable}...'. For example,
  5440.      
  5441.      \defvar{kill-ring} 
  5442.      ... 
  5443.      \enddefvar
  5444.  
  5445.  
  5446. The template is:
  5447.      
  5448.      \defvar{NAME} 
  5449.      BODY-OF-DEFINITION 
  5450.      \enddefvar
  5451.  
  5452.  
  5453. `\defvar' creates an entry in the index of variables for NAME.
  5454.  
  5455. 
  5456. File: latexinfo2.info  Node: C Functions, Prev: Variables Commands, Up: Definition Commands, Next: Typed Functions
  5457.  
  5458. C Functions
  5459. ===========
  5460.  
  5461.  
  5462. * Menu:
  5463.  
  5464. * Typed Functions::             Functions in Typed Languages
  5465. * Typed Variables::             Variables in Typed Languages
  5466.  
  5467.  
  5468. 
  5469. File: latexinfo2.info  Node: Typed Functions, Prev: C Functions, Up: C Functions, Next: Typed Variables
  5470.  
  5471. Functions in Typed Languages
  5472. ----------------------------
  5473.  
  5474.  
  5475. The `\deftypefn' command and its variations are for describing functions
  5476. in C or any other language in which you must declare types of variables
  5477. and functions.
  5478.  
  5479. \DEFTYPEFN{CATEGORY}{DATA-TYPE}{NAME}{ARGUMENTS...} The `\deftypefn'
  5480. command is the general definition command for functions that may take
  5481. arguments and that are typed.  The `\deftypefn' command is written at
  5482. the beginning of a line and is followed the category of entity being
  5483. described, the type of the returned value, the name of this particular
  5484. entity, and its arguments, if any.
  5485.  
  5486. For example, 
  5487.      
  5488.      \deftypefn{Library Function}{int}{foobar}{(int \var{foo}, float \var{bar})}
  5489.      ...
  5490.      \enddeftypefn
  5491.  
  5492.  
  5493. produces the following in Info:
  5494.  
  5495.      
  5496.      -- Library Function: int foobar (int FOO, float BAR)
  5497.      ...
  5498.  
  5499.  
  5500.  
  5501. In a printed manual, it produces:
  5502.  
  5503.      
  5504.      
  5505.      
  5506.       -- Library Function: int foobar (int FOO, float BAR)
  5507.           a "library function" that returns an `int'
  5508.      
  5509.  
  5510.  
  5511. This means that `foobar' is a "library function" that returns an `int',
  5512. and its arguments are FOO (an `int') and BAR (a `float').
  5513.  
  5514. The argument names that you write in `\deftypefn' are not subject to an
  5515. implicit `\var'---since the actual names of the arguments in
  5516. `\deftypefn' are typically scattered among data type names and keywords,
  5517. LaTeXinfo can't find them without help.  Instead, you must write `\var'
  5518. explicitly around the argument names.  In the example above, the
  5519. argument names are `foo' and `bar'.
  5520.  
  5521. The template for `\deftypefn' is:
  5522.  
  5523.      
  5524.      \deftypefn{CATEGORY}{DATA-TYPE}{NAME}{ARGUMENTS} ...
  5525.      BODY-OF-DESCRIPTION
  5526.      \enddeftypefn
  5527.  
  5528.  
  5529. Note that if the CATEGORY or DATA TYPE is more than one word then it
  5530. must be enclosed in braces to make it a single argument.
  5531.  
  5532. If you are describing a procedure in a language that has packages, such
  5533. as Ada, you might consider using `\deftypefn' in a manner somewhat
  5534. contrary to the convention described in the preceding paragraphs. For
  5535. example:
  5536.      
  5537.      \deftypefn{stacks}{private}{push}
  5538.      {(\var{s}:in out stack; \var{n}:in integer)}
  5539.      ...
  5540.      \enddeftypefn
  5541.  
  5542.  
  5543. In this instance, the procedure is classified as belonging to the
  5544. package `stacks' rather than classified as a `procedure' and its data
  5545. type is described as `private'.  (The name of the procedure is `push',
  5546. and its arguments are S and N.)
  5547.  
  5548. `\deftypefn' creates an entry in the index of functions for NAME.
  5549.  
  5550. \DEFTYPEFUN{DATA-TYPE}{NAME}{ARGUMENTS...} The `\deftypefun' command is
  5551. the specialized definition command for functions in typed languages.
  5552. The command is equivalent to `\deftypefn{Function}...'.
  5553.  
  5554.      
  5555.      \deftypefun{int}{foobar}
  5556.      {(int \var{foo}, float \var{bar})}
  5557.      ...
  5558.      \enddeftypefun
  5559.  
  5560.  
  5561. produces the following in Info:
  5562.      
  5563.      -- Function: int foobar (int FOO, float BAR)
  5564.      ...
  5565.  
  5566.  
  5567.  
  5568.  
  5569. The template is:
  5570.      
  5571.      \deftypefun{TYPE}{NAME}{ARGUMENTS...}
  5572.      BODY-OF-DESCRIPTION
  5573.      \enddeftypefun
  5574.  
  5575.  
  5576. `\deftypefun' creates an entry in the index of functions for NAME.
  5577.  
  5578. 
  5579. File: latexinfo2.info  Node: Typed Variables, Prev: Typed Functions, Up: C Functions, Next: Abstract Objects
  5580.  
  5581. Variables in Typed Languages
  5582. ----------------------------
  5583.  
  5584.  
  5585. Variables in typed languages are handled in a manner similar to
  5586. functions in typed languages.  (*Note Typed Functions::.)  The general
  5587. definition command `\deftypevr' corresponds to `\deftypefn' and the
  5588. specialized definition command `\deftypevar' corresponds to
  5589. `\deftypefun'.
  5590.  
  5591. \DEFTYPEVR{CATEGORY}{DATA-TYPE}{NAME} The `\deftypevr' command is the
  5592. general definition command for something like a variable in a typed
  5593. language---an entity that records a value.  You must choose a term to
  5594. describe the category of the entity being defined; for example,
  5595. "Variable" could be used if the entity is a variable.
  5596.  
  5597. The `\deftypevr' command is written at the beginning of a line and is
  5598. followed by the category of the entity being described, the data type,
  5599. and the name of this particular entity.  For example:
  5600.      
  5601.      \deftypevr{Global Flag}{int}{enable}
  5602.      ...
  5603.      \enddeftypevr
  5604.  
  5605.  
  5606. produces the following in Info:
  5607.      
  5608.      -- Global Flag: int enable
  5609.      ...
  5610.  
  5611.  
  5612.  
  5613.  
  5614. The template is:
  5615.      
  5616.      \deftypevr{CATEGORY}{DATA-TYPE}{NAME}
  5617.      BODY-OF-DESCRIPTION
  5618.      \enddeftypevr
  5619.  
  5620.  
  5621. `\deftypevr' creates an entry in the index of variables for NAME.
  5622.  
  5623. \DEFTYPEVAR{DATA-TYPE}{NAME} The `\deftypevar' command is the
  5624. specialized definition command for variables in typed languages.
  5625. `\deftypevar' is equivalent to `\deftypevr{Variable}...'.
  5626.  
  5627. For example,
  5628.      
  5629.      \deftypevar{int}{foobar}
  5630.      ...
  5631.      \enddeftypevar
  5632.  
  5633.  
  5634. produces the following in Info:
  5635.      
  5636.      -- Variable: int foobar
  5637.      ...
  5638.  
  5639.  
  5640.  
  5641. The template is:
  5642.      
  5643.      \deftypevar{DATA-TYPE}{NAME}
  5644.      BODY-OF-DESCRIPTION
  5645.      \enddeftypevar
  5646.  
  5647.  
  5648. `\deftypevar' creates an entry in the index of variables for NAME.
  5649.  
  5650. 
  5651. File: latexinfo2.info  Node: Abstract Objects, Prev: Typed Variables, Up: Definition Commands, Next: Data Types
  5652.  
  5653. Object-Oriented Programming
  5654. ===========================
  5655.  
  5656.  
  5657. LaTeXinfo has commands for formatting descriptions about abstract
  5658. objects, such as are used in object-oriented programming.  A class is a
  5659. defined type of abstact object.  An instance of a class is a particular
  5660. object that has the type of the class.  An instance variable is a
  5661. variable that belongs to the class but for which each instance has its
  5662. own value.
  5663.  
  5664. In a definition, if the name of a class is truly a name defined in the
  5665. programming system for a class, then you should write an `\code' around
  5666. it.  Otherwise, it is printed in the usual text font.
  5667.  
  5668. \DEFCV{CATEGORY}{CLASS}{NAME}
  5669. The `\defcv' command is the general definition command for variables
  5670. associated with classes in object-oriented programming.  The `\defcv'
  5671. command is followed by three arguments: the category of thing being
  5672. defined, the class to which it belongs, and its name.  Thus,
  5673.      
  5674.      \defcv{Class Option}{Window}{border-pattern}
  5675.      ...
  5676.      \enddefcv
  5677.  
  5678.  
  5679. illustrates how you would write the first line of a definition of the
  5680. `border-pattern' class option of the class `Window'.  The template is:
  5681.      
  5682.      \defcv{CATEGORY}{CLASS}{NAME}
  5683.      ...
  5684.      \enddefcv
  5685.  
  5686.  
  5687. `\defcv' creates an entry in the index of variables.
  5688.  
  5689. \DEFIVAR{CLASS}{NAME}
  5690. The `\defivar' command is the definition command for instance variables
  5691. in object-oriented programming.  `\defivar' is equivalent to
  5692. `\defcv{Instance Variable} ...'
  5693.  
  5694. The template is:
  5695.      
  5696.      \defivar{CLASS}{INSTANCE-VARIABLE-NAME}
  5697.      BODY-OF-DEFINITION
  5698.      \enddefivar
  5699.  
  5700.  
  5701. `\defivar' creates an entry in the index of variables.
  5702.  
  5703. \DEFOP{CATEGORY}{CLASS}{NAME}{ARGUMENTS...} The `\defop' command is the
  5704. general definition command for entities that may resemble methods in
  5705. object-oriented programming.  These entities take arguments, as
  5706. functions do, but are associated with particular classes of objects.
  5707. For example, some systems have constructs called "wrappers" that are
  5708. associated with classes as methods are, but that act more like macros
  5709. than like functions.  You could use `\defop{Wrapper}' to describe one of
  5710. these.
  5711.  
  5712. Sometimes it is useful to distinguish methods and "operations".  You can
  5713. think of an operation as the specification for a method.  Thus, a window
  5714. system might specify that all window classes have a method named
  5715. `expose'; we would say that this window system defines an `expose'
  5716. operation on windows in general.  Typically, the operation has a name
  5717. and also specifies the pattern of arguments; all methods that implement
  5718. the operation must accept the same arguments, since applications that
  5719. use the operation do so without knowing which method will implement it.
  5720.  
  5721. Often it makes more sense to document operations than methods.  For
  5722. example, window application developers need to know about the `expose'
  5723. operation, but need not be concerned with whether a given class of
  5724. windows has its own method to implement this operation.  To describe
  5725. this operation, you would write:
  5726.      
  5727.      \defop{Operation}{windows}{expose}{}
  5728.  
  5729.  
  5730. The `\defop' command is written at the beginning of a line and is
  5731. followed by the overall name of the category of operation, the name of
  5732. the class of the operation, the name of the operation, and its
  5733. arguments.
  5734.  
  5735. The template is:
  5736.      
  5737.      \defop{CATEGORY}{CLASS}{NAME}{ARGUMENTS...}
  5738.      BODY-OF-DEFINITION
  5739.      \enddefop
  5740.  
  5741.  
  5742. `\defop' creates an entry, such as ``expose' on `windows'', in the index
  5743. of functions.
  5744.  
  5745. \DEFMETHOD{CLASS}{NAME}{ARGUMENTS...} The `\defmethod' command is the
  5746. definition command for methods in object-oriented programming.  A method
  5747. is a kind of function that implements an operation for a particular
  5748. class of objects and its subclasses.
  5749.  
  5750. `\defmethod' is equivalent to `\defop{Method ...'}.  The command is
  5751. written at the beginning of a line and is followed by the name of the
  5752. class of the method, the name of the method, and its arguments, if any.
  5753. For example,
  5754.      
  5755.      \defmethod{`bar-class'}{bar-method}{argument}
  5756.      ...
  5757.      \enddefmethod
  5758.  
  5759.  
  5760. illustrates the definition for a method called `bar-method' of the class
  5761. `bar-class'.  The method takes an argument.
  5762.  
  5763. The template is:
  5764.      
  5765.      \defmethod{CLASS}{METHOD-NAME}{ARGUMENTS...}
  5766.      BODY-OF-DEFINITION
  5767.      \enddefmethod
  5768.  
  5769.  
  5770. `\defmethod' creates an entry, such as ``bar-method' on `bar-class'', in
  5771. the index of functions.
  5772.  
  5773. * Menu:
  5774.  
  5775. * Data Types::                  
  5776.  
  5777.  
  5778. 
  5779. File: latexinfo2.info  Node: Data Types, Prev: Abstract Objects, Up: Abstract Objects, Next: Sample Function Definition
  5780.  
  5781. Data Types
  5782. ----------
  5783.  
  5784.  
  5785. Here is the command for data types:
  5786.  
  5787. \DEFTP{CATEGORY}{NAME}{ATTRIBUTES...} The `\deftp' command is the
  5788. generic definition command for data types.  The command is written at
  5789. the beginning of a line and is followed by the category, by the name of
  5790. the type (which is a word like `int' or `float', and then by names of
  5791. attributes of objects of that type.  Thus, you could use this command
  5792. for describing `int' or `float', in which case you could use `data type'
  5793. as the category.  (A data type is a category of certain objects for
  5794. purposes of deciding which operations can be performed on them.)
  5795.  
  5796. In Lisp, for example, "pair" names a particular data type, and an object
  5797. of that type has two slots called the car and the cdr.  Here is how you
  5798. would write the first line of a definition of `pair'.
  5799.      
  5800.      \deftp{Data type}{pair}{car cdr}
  5801.      ...
  5802.      \enddeftp
  5803.  
  5804.  
  5805. The template is:
  5806.      
  5807.      \deftp{CATEGORY}{NAME-OF-TYPE}{ATTRIBUTES...}
  5808.      BODY-OF-DEFINITION
  5809.      \enddeftp
  5810.  
  5811.  
  5812. `\deftp' creates an entry in the index of data types.
  5813.  
  5814. \DEFOPT{NAME}
  5815. The `\defopt' command is the definition command for user options.
  5816. `\defopt' is equivalent to `\defvr {User Option} ...' and works like
  5817. `\defvar'.
  5818.  
  5819. 
  5820. File: latexinfo2.info  Node: Sample Function Definition, Prev: Data Types, Up: Definition Commands, Next: Nodes and Menus
  5821.  
  5822. A Sample Function Definition
  5823. ============================
  5824.  
  5825.  
  5826. A function definition uses the `\defun' and `\enddefun' commands.  The
  5827. name of the function follows immediately after the `\defun' command and
  5828. it is followed by the parameter list.
  5829.  
  5830.      
  5831.      
  5832.      
  5833.       -- Function: apply FUNCTION &REST ARGUMENTS
  5834.      
  5835.           `apply' calls FUNCTION with ARGUMENTS, just like
  5836.           `funcall' but with one difference: the last of ARGUMENTS is a
  5837.           list of arguments to give to FUNCTION, rather than a single
  5838.           argument.  We also say that this list is "appended" to the other
  5839.           arguments.
  5840.           
  5841.           `apply' returns the result of calling FUNCTION.  As with
  5842.           `funcall', FUNCTION must either be a Lisp function or a
  5843.           primitive function; special forms and macros do not make sense in
  5844.           `apply'.
  5845.                
  5846.                (setq f 'list)
  5847.                     =>  list
  5848.                (apply f 'x 'y 'z)
  5849.                error--> Wrong type argument: listp, z
  5850.                (apply '+ 1 2 '(3 4))
  5851.                     =>  10
  5852.                (apply '+ '(1 2 3 4))
  5853.                     =>  10
  5854.                
  5855.                (apply 'append '((a b c) nil (x y z) nil))
  5856.                     =>  (a b c x y z)
  5857.           
  5858.           
  5859.           An interesting example of using `apply' is found in the
  5860.           description of `mapcar'.
  5861.      
  5862.  
  5863.  
  5864. In the LaTeXinfo source file, this example looks like this:
  5865.  
  5866. \defun{apply}{function &rest arguments}
  5867. \code{apply} calls \var{function} with \var{arguments}, just like
  5868. \code{funcall} but with one difference: the last of \var{arguments} is a
  5869. list of arguments to give to \var{function}, rather than a single
  5870. argument.  We also say that this list is \dfn{appended} to the other
  5871. arguments.
  5872.  
  5873. \code{apply} returns the result of calling \var{function}.  As with
  5874. \code{funcall}, \var{function} must either be a Lisp function or a
  5875. primitive function; special forms and macros do not make sense in
  5876. \code{apply}.
  5877. \begin{example}
  5878. (setq f 'list)
  5879.      \result{} list
  5880. (apply f 'x 'y 'z)
  5881. \error{} Wrong type argument: listp, z
  5882. (apply '+ 1 2 '(3 4))
  5883.      \result{} 10
  5884. (apply '+ '(1 2 3 4))
  5885.      \result{} 10
  5886.  
  5887. (apply 'append '((a b c) nil (x y z) nil))
  5888.      \result{} (a b c x y z)
  5889.  
  5890. In this manual, this function is listed in the Command and Variable
  5891. Index under `apply'.
  5892.  
  5893. Ordinary variables and user options are described using a format like
  5894. that for functions except that variables do not take arguments.
  5895.  
  5896.  
  5897. 
  5898. File: latexinfo2.info  Node: Nodes and Menus, Prev: Sample Function Definition, Up: Top, Next: Node Menu Illustration
  5899.  
  5900. Nodes and Menus
  5901. ***************
  5902.  
  5903.  
  5904. Most LaTeXinfo files are organized hierarchically like books, with
  5905. chapters, sections, subsections, and subsubsections.  Such a hierarchy
  5906. is tree-like; the chapters are the major limbs from which the sections
  5907. branch out.  In a conventional diagram, however, such a hierarchy is
  5908. drawn with the "root" at the top and the "leaves" at the bottom---as an
  5909. upside-down tree.  The root node is called the `Top' node, and `Up'
  5910. pointers carry you closer to the root.
  5911.  
  5912. * Menu:
  5913.  
  5914. * Node Menu Illustration::      A diagram and sample nodes and menus.
  5915. * node::                        The `\node' command in detail.
  5916. * Node Names::                  Choosing Node and Pointer Names
  5917. * Menu Environment::            
  5918. * Other Info Files::            Referring to nodes in other Info files.
  5919.  
  5920.  
  5921. 
  5922. File: latexinfo2.info  Node: Node Menu Illustration, Prev: Nodes and Menus, Up: Nodes and Menus, Next: node
  5923.  
  5924. Node and Menu Illustration
  5925. ==========================
  5926.  
  5927.  
  5928. Here is a copy of the diagram shown earlier that illustrates a LaTeXinfo
  5929. file with three chapters, each of which contains two sections.
  5930.  
  5931.      
  5932.      
  5933.                                top
  5934.                                 |
  5935.               -------------------------------------
  5936.              |                  |                  |
  5937.           Chapter 1          Chapter 2          Chapter 3
  5938.              |                  |                  |
  5939.           --------           --------           --------
  5940.          |        |         |        |         |        |         
  5941.       Section  Section   Section  Section   Section  Section
  5942.         1.1      1.2       2.1      2.2       3.1      3.2
  5943.      
  5944.  
  5945.  
  5946. In a LaTeXinfo file that has this organization, you would write the
  5947. beginning of the node for Chapter 2 like this:
  5948.  
  5949.      
  5950.      \node     Chapter 2,  Chapter 3, Chapter 1, top
  5951.      \comment  node-name,  next,      previous,  up
  5952.  
  5953.  
  5954. To go to Sections 2.1 and 2.2 using Info, you need a menu inside of
  5955. Chapter 2 that says:
  5956.  
  5957.      
  5958.          \begin{menu}
  5959.          * Sect. 2.1::    Description of this section.
  5960.          * Sect. 2.2::  
  5961.          \end{menu}
  5962.  
  5963.  
  5964. You would locate this menu inside Chapter 2, after the beginning of the
  5965. chapter and before Section 2.1.
  5966.  
  5967. The node for Sect. 2.1 will look like this:
  5968.  
  5969.      
  5970.          \node     Sect. 2.1, Sect. 2.2, Chapter 2, Chapter 2
  5971.          \comment  node-name, next,      previous,  up
  5972.  
  5973.  
  5974. Usually, an `\node' command and a chapter structuring command are used
  5975. in sequence, along with indexing commands.  (The updating commands
  5976. require this sequence.  *Note Updating Requirements::.)  Also, you may
  5977. want to follow the `\node' line with a comment line that reminds you
  5978. which pointer is which.  For example, the beginning of the node for the
  5979. chapter on ending a file looks like this:
  5980.  
  5981.      
  5982.      
  5983.      \node    Ending a File, Structuring, Beginning a File, Top
  5984.      \comment node-name,     next,        previous,         up
  5985.      \chapter{Ending a LaTeXinfo File}
  5986.      \cindex{Ending a LaTeXinfo file}
  5987.      \cindex{LaTeXinfo file ending}
  5988.      \cindex{File ending}
  5989.      
  5990.  
  5991.  
  5992. The following two sections describe the `\node' and `\begin{menu}'
  5993. commands in detail.
  5994.  
  5995. 
  5996. File: latexinfo2.info  Node: node, Prev: Node Menu Illustration, Up: Nodes and Menus, Next: Node Names
  5997.  
  5998. `\node'
  5999. =======
  6000.  
  6001.  
  6002. `\node' defines the beginning of a new node in the Info output file.
  6003. (*Note info: (info)Top.)  Write the command at the beginning of a line,
  6004. followed by four arguments, separated by commas, that make up the rest
  6005. of the line.  These arguments are the name of the node, and the names of
  6006. the `Next', `Previous', and `Up' pointers, in that order.  You may
  6007. insert spaces before each pointer if you wish.  The spaces are ignored.
  6008.  
  6009. In LaTeX, `\node' is nearly ignored.  It generates nothing visible.  Its
  6010. only function is to identify the name to use for cross references to the
  6011. chapter or section which follows the `\node' command and which makes up
  6012. the body of the node.  (Cross references, such as the one following this
  6013. sentence, are made with `\xref' and its related commands.  *Note Cross
  6014. References::.)
  6015.  
  6016. In general, an `\node' line is followed immediately by a
  6017. chapter-structuring command such as `\chapter', `\section',
  6018. `\subsection', or `\subsubsection'.  (*Note Types of Structuring
  6019. Command: Structuring Command Types.)
  6020.  
  6021. * Menu:
  6022.  
  6023. * Node Names::                  Choosing node and pointer names.
  6024. * Writing a Node::              How to write a node line.
  6025.  
  6026.  
  6027. 
  6028. File: latexinfo2.info  Node: Node Names, Prev: node, Up: Nodes and Menus, Next: Writing a Node
  6029.  
  6030. Choosing Node and Pointer Names
  6031. ===============================
  6032.  
  6033.  
  6034.  
  6035. The name of the node identifies the node.  The pointers, which enable
  6036. you to reach other nodes, consist of the names of those nodes.
  6037.  
  6038. All the node names for a single Info file must be unique.  Duplications
  6039. confuse the Info movement commands.  This means, for example, that if
  6040. you end each chapter with a summary, you must name every summary node
  6041. differently.  You may, however, duplicate section titles (although this
  6042. practice may confuse a reader).
  6043.  
  6044. Try to pick node names that are informative but short.  In the Info
  6045. file, the file name, node name, and pointer names are all inserted on
  6046. one line, which may run into the right edge of the window.  (This does
  6047. not cause a problem with Info, but is ugly.)
  6048.  
  6049. By convention, node names are capitalized just as they would be for
  6050. section or chapter titles.
  6051.  
  6052.      
  6053.      *Caution:* Do not use any of the LaTeXinfo \-commands in a node
  6054.      name; these commands confuse Info.
  6055.      
  6056.      Do not use commas within a node name; a comma terminates the node
  6057.      name.
  6058.  
  6059.  
  6060. Pointer names must be the names of nodes defined elsewhere.  It does not
  6061. matter whether pointers are before or after the node that refers to
  6062. them.
  6063.  
  6064. Normally, a node's `Up' pointer should contain the name of the node
  6065. whose menu mentions that node.  The node's `Next' pointer should
  6066. contain the name of the node that follows that node and its `Previous'
  6067. pointer should contain the name of the node that precedes it in that
  6068. menu.  When a node's `Up' node is the same as its `Previous' node,
  6069. both node pointers should name the same node.
  6070.  
  6071. * Menu:
  6072.  
  6073. * Writing a Node::              Writing a Node Line
  6074.  
  6075.  
  6076. 
  6077. File: latexinfo2.info  Node: Writing a Node, Prev: Node Names, Up: Node Names, Next: Menu Environment
  6078.  
  6079. Writing a Node Line
  6080. -------------------
  6081.  
  6082.  
  6083. The easiest way to write a node line is to write `\node' at the
  6084. beginning of a line and then the name of the node.  You can use update
  6085. node commands provided by LaTeXinfo mode to insert the names of the
  6086. pointers; *Note LaTeXinfo Mode::.
  6087.  
  6088. Alternatively, you may insert the `Next', `Previous', and `Up' pointers
  6089. yourself.  If you do this, you may find it helpful to use the LaTeXinfo
  6090. mode keyboard command `C-c C-c n'.  This command inserts `\node' and a
  6091. comment line listing the names of the pointers in their proper order.
  6092. The comment line helps you keep track of which arguments are for which
  6093. pointers.  This template is especially useful if you are not familiar
  6094. with LaTeXinfo.
  6095.  
  6096. If you wish, you can ignore node lines altogether in your first draft
  6097. and then use the `latexinfo-insert-node-lines' command to create node
  6098. lines for you.  However, this practice is not recommended.  It is better
  6099. to name the node itself at the same time you write a section so you can
  6100. easily make cross references.  A large number of cross references are an
  6101. especially important feature of a good Info file.
  6102.  
  6103. After you have inserted a node line, you should immediately write an
  6104. \-command for the chapter or section and insert its name.  Next (and
  6105. this is important!), put in several index entries.  Usually, you will
  6106. find at least two and often as many as four or five ways of referring to
  6107. the node in the index.  Use them all.  This will make it much easier for
  6108. people to find the node.
  6109.  
  6110. The top node of the file (which must be named `top' or `Top') should
  6111. have as its `Up' and `Previous' nodes the name of a node in another
  6112. file, where there is a menu that leads to this file.  Specify the file
  6113. name in parentheses.  If the file is to be installed directly in the
  6114. Info directory file, use `(dir)' as the parent of the `Top' node; this
  6115. is short for `(dir)top', and specifies the `Top' node in the `dir' file,
  6116. which contains the main menu for Info.  For example, the `Top' node line
  6117. of this manual looks like this:
  6118.  
  6119.      
  6120.      \node Top, Overview, (dir), (dir)
  6121.  
  6122.  
  6123. (You may use the LaTeXinfo updating commands to insert these `Next' and
  6124. `(dir)' pointers automatically.)
  6125.  
  6126. *Note Installing an Info File::, for more information about installing
  6127. an Info file in the `info' directory.
  6128.  
  6129. 
  6130. File: latexinfo2.info  Node: Menu Environment, Prev: Writing a Node, Up: Nodes and Menus, Next: Menu Location
  6131.  
  6132. Menu Environment
  6133. ================
  6134.  
  6135.  
  6136. The `\begin{menu}' command is used to create "menus", which contain
  6137. pointers to subordinate nodes.  In Info, you use menus to go to such
  6138. nodes.  Menus have no effect in printed manuals and do not appear in
  6139. them.
  6140.  
  6141. By convention, a menu is put at the end of a node.  This way, it is easy
  6142. for someone using Info to find the menu, using the `M->'
  6143. (`end-of-buffer') command.
  6144.  
  6145. *A node that has a menu should not contain much text.* If you have a lot
  6146. of text and a menu, move most of the text into a new subnode---all but a
  6147. few lines.
  6148.  
  6149.  
  6150.  
  6151.  
  6152. * Menu:
  6153.  
  6154. * Menu Location::               Put a menu in a short node.
  6155. * Menu Item::                   How to write a menu item.
  6156. * Menu Example::                A menu example.
  6157.  
  6158.  
  6159. 
  6160. File: latexinfo2.info  Node: Menu Location, Prev: Menu Environment, Up: Menu Environment, Next: Menu Item
  6161.  
  6162. Menus Need Short Nodes
  6163. ----------------------
  6164.  
  6165.  
  6166.  
  6167. A reader can easily see a menu that is close to the beginning of the
  6168. node.  The node should be short.  As a practical matter, you should
  6169. locate a menu within 20 lines of the beginning of the node.  Otherwise,
  6170. a reader with a terminal that displays only a few lines may miss the
  6171. menu and its associated text.
  6172.  
  6173.  
  6174. The short text before a menu may look awkward in a printed manual.  To
  6175. avoid this, you can write a menu near the beginning of its node and
  6176. follow the menu by an `\node' line and an `\section*' line within
  6177. `\begin{ifinfo}' and `\end{ifinfo}'.  This way, the menu, node line, and
  6178. title appear only in the Info file, not the printed document.
  6179.  
  6180. The preceding two paragraphs follow an Info-only menu, node line, and
  6181. heading, and look like this:
  6182.  
  6183.      
  6184.      
  6185.      \begin{menu}
  6186.      * Menu Location::               Put a menu in a short node.
  6187.      * Menu Item::                   How to write a menu item.
  6188.      * Menu Example::                A menu example.
  6189.      \end{menu}
  6190.      
  6191.      \node Menu Location
  6192.      \begin{ifinfo}
  6193.      \subsection*{Menus Need Short Nodes}
  6194.      \end{ifinfo}
  6195.      
  6196.  
  6197.  
  6198. See the beginning of the "Cross References" chapter in the LaTeXinfo
  6199. source for this document for another example this procedure.
  6200.  
  6201. 
  6202. File: latexinfo2.info  Node: Menu Item, Prev: Menu Location, Up: Menu Environment, Next: Menu Example
  6203.  
  6204. Writing a Menu Item
  6205. -------------------
  6206.  
  6207.  
  6208. In a menu, every line that begins with a `* ' is a menu item.  (Note the
  6209. space after the asterisk.)  A line that does not start with a `* ' can
  6210. appear in the menu but is not a menu item, just a comment.
  6211.  
  6212. A menu item has three parts, only the second of which is required:
  6213.  
  6214.   1. The menu item name.
  6215.      
  6216.   2. The name of the node.
  6217.      
  6218.   3. A description of the item.
  6219.  
  6220.  
  6221. A menu item looks like this:
  6222.  
  6223.      
  6224.      * Item name: Node name.      Description.
  6225.  
  6226.  
  6227. Follow the menu item name with a single colon and follow the node name
  6228. with tab, comma, period, or newline.
  6229.  
  6230. In Info, a user can select a node with the `m' (`Info-menu') command.
  6231. The menu item name is what the user types after the `m' command.
  6232.  
  6233. If the menu item name and the node name are the same, you can write the
  6234. name immediately after the asterisk and space at the beginning of the
  6235. line and follow the name with two colons.
  6236.  
  6237. For example, write
  6238.  
  6239.      
  6240.      * Name::
  6241.  
  6242.  
  6243. instead of 
  6244.  
  6245.      
  6246.      * Name: Name.
  6247.  
  6248.  
  6249. You should use the node name for the menu item name whenever possible,
  6250. since it reduces visual clutter in the menu.
  6251.  
  6252. The third part of a menu entry is a short descriptive phrase or
  6253. sentence.  Menu item names and node names are often short; the
  6254. description explains to the reader what the node is about.  The
  6255. description, which is optional, can spread over two or more lines.  A
  6256. useful description complements the node name rather than repeating it.
  6257.  
  6258. 
  6259. File: latexinfo2.info  Node: Menu Example, Prev: Menu Item, Up: Menu Environment, Next: Other Info Files
  6260.  
  6261. A Menu Example
  6262. --------------
  6263.  
  6264.  
  6265. A menu looks like this in LaTeXinfo:
  6266.  
  6267.      
  6268.      
  6269.      \begin{menu}
  6270.      * Menu item name: Node name.    A short description.
  6271.      * Node name::                   This form is preferred.
  6272.      \end{menu}
  6273.      
  6274.  
  6275.  
  6276. This produces:
  6277.  
  6278.      
  6279.      
  6280.      * menu:
  6281.      
  6282.      * Menu item name: Node name.    A short description.
  6283.      * Node name::                   This form is preferred.
  6284.      
  6285.  
  6286.  
  6287. Here is an example as you might see it in a LaTeXinfo file:
  6288.  
  6289.      
  6290.      
  6291.      \begin{menu}
  6292.      Larger Units of Text
  6293.      
  6294.      * Files::                 All about handling files.
  6295.      * Multiples: Buffers.     Multiple buffers; editing 
  6296.                                  several files at once.
  6297.      \end{menu}
  6298.      
  6299.  
  6300.  
  6301. This produces:
  6302.  
  6303.      
  6304.      
  6305.      * menu:
  6306.      Larger Units of Text
  6307.      
  6308.      * Files::                 All about handling files.
  6309.      * Multiples: Buffers.     Multiple buffers; editing 
  6310.                                  several files at once.
  6311.      
  6312.  
  6313.  
  6314. In this example, the menu has two entries.  `Files' is both a menu item
  6315. name and the name of the node referred to by that item.  In the other
  6316. entry, `Multiples' is the item name, and it refers to the node named
  6317. `Buffers'.
  6318.  
  6319. Since no file name is specified with either `Files' or `Buffers', they
  6320. must be the names of nodes in the same Info file.  (*Note Referring to
  6321. Other Info Files: Other Info Files.)
  6322.  
  6323. The line `Larger Units of Text' is a comment.
  6324.  
  6325. 
  6326. File: latexinfo2.info  Node: Other Info Files, Prev: Menu Example, Up: Nodes and Menus, Next: Cross References
  6327.  
  6328. Referring to Other Info Files
  6329. =============================
  6330.  
  6331.  
  6332. You can refer to nodes in other Info files by writing the file name in
  6333. parentheses just before the node name.  In this case, you should use the
  6334. three-part menu item format, which saves the reader from having to type
  6335. the file name.
  6336.  
  6337. If you do not list the node name, but only name the file, then Info
  6338. presumes that you are referring to the `Top' node.
  6339.  
  6340. The format looks like this:
  6341.  
  6342.      
  6343.      
  6344.      \begin{menu}
  6345.      * FIRST-ITEM:(FILENAME)NODENAME.           DESCRIPTION
  6346.      * SECOND-ITEM:(FILENAME)SECOND-NODE.       DESCRIPTION
  6347.      \end{menu}
  6348.      
  6349.  
  6350.  
  6351. The `dir' top level directory for the Info system has menu entries that
  6352. take you directly to the `Top' nodes of each Info document.  (*Note
  6353. Creating and Installing an Info File::.)
  6354.  
  6355. For example,
  6356.  
  6357.      
  6358.      
  6359.      ...
  6360.      * Info: (info).         Documentation browsing system.
  6361.      * Emacs: (emacs).       The extensible, self-documenting 
  6362.                              text editor.
  6363.      ...
  6364.      
  6365.  
  6366.  
  6367. To refer directly to the `Outlining' and `Rebinding' nodes in the Emacs
  6368. Manual, you would write a menu similar to the following:
  6369.  
  6370.      
  6371.      
  6372.      \begin{menu}
  6373.      * Outlining: (emacs)Outline Mode. The major mode for 
  6374.                                        editing outlines.
  6375.      * Rebinding: (emacs)Rebinding.    How to redefine the 
  6376.                                        meaning of a key.
  6377.      \end{menu}
  6378.      
  6379.  
  6380.  
  6381. 
  6382. File: latexinfo2.info  Node: Invocation, Prev: Other Info Files, Up: Top, Next: References
  6383. 
  6384. File: latexinfo2.info  Node: Cross References, Prev: Other Info Files, Up: Top, Next: References
  6385.  
  6386. Making Cross References
  6387. ***********************
  6388.  
  6389.  
  6390. Cross references are used to refer the reader to other parts of the same
  6391. or different LaTeXinfo files.  In LaTeXinfo, nodes are the points to
  6392. which cross references can refer.
  6393.  
  6394. * Menu:
  6395.  
  6396. * References::                  What cross references are for.
  6397. * Cross Reference Commands::    A summary of the different commands.
  6398. * Cross Reference Parts::       A cross reference has several parts.
  6399. * xref::                        Begin a reference with `See' ...
  6400. * Top Node Naming::             Naming a `Top' Node
  6401. * ref::                         A reference for the last part of a sentence.
  6402. * pxref::                       How to write a parenthetical cross reference.
  6403. * inforef::                     How to refer to an Info-only file.
  6404.  
  6405.  
  6406. 
  6407. File: latexinfo2.info  Node: References, Prev: Cross References, Up: Cross References, Next: Cross Reference Commands
  6408.  
  6409. What References Are For
  6410. =======================
  6411.  
  6412.  
  6413.  
  6414. Often, but not always, a printed document should be designed so that it
  6415. can be read sequentially.  People tire of flipping back and forth to
  6416. find information that should be presented to them as they need it.
  6417.  
  6418. However, in any document, some information will be too detailed for the
  6419. current context, or incidental to it; use cross references to provide
  6420. access to such information.  Also, an on-line help system or a reference
  6421. manual is not like a novel; few read such documents in sequence from
  6422. beginning to end.  Instead, people look up what they need.  For this
  6423. reason, such creations should contain many cross references to help
  6424. readers find other information that they may not have read.
  6425.  
  6426. In a printed manual, a cross reference creates a page reference, unless
  6427. it is to another manual altogether, in which case it names that manual.
  6428.  
  6429. In Info, a cross reference creates an entry that you can follow using
  6430. the Info `f' command.  (*Note Some advanced Info commands:
  6431. (info)Help-Adv.)
  6432.  
  6433. The various cross reference commands use nodes to define cross reference
  6434. locations.  This is evident in Info, in which a cross reference takes
  6435. you to the specified node.  LaTeX also uses nodes to define cross
  6436. reference locations, but the action is less obvious.  When LaTeX
  6437. generates a dvi file, it records nodes' page numbers and uses the page
  6438. numbers in making references.  Thus, if you are writing a manual that
  6439. will only be printed, and will not be used on-line, you must nonetheless
  6440. write `\node' lines to name the places to which you make cross
  6441. references.
  6442.  
  6443. 
  6444. File: latexinfo2.info  Node: Cross Reference Commands, Prev: References, Up: Cross References, Next: Cross Reference Parts
  6445.  
  6446. Different Cross Reference Commands
  6447. ==================================
  6448.  
  6449.  
  6450. There are several different cross reference commands:
  6451.  
  6452. \xref     
  6453.      
  6454.      Used to start a sentence in the printed manual saying
  6455.      `See ...' or an entry in the Info file saying 
  6456.      `*Note ...'.
  6457.      
  6458. \nxref     
  6459.      
  6460.      Used within or, more often, at the end of a sentence; produces just
  6461.      the reference in the printed manual without a preceding `See'.
  6462.      (`n' is for `node'.)
  6463.      
  6464. \pxref     
  6465.      
  6466.      Used within parentheses to make a reference that starts with a
  6467.      lower case `see' within the printed manual. (`p' is for
  6468.      `parenthesis'.)
  6469.      
  6470. \inforef     
  6471.      
  6472.      Used to make a reference to an Info file.  manual.
  6473.  
  6474.  
  6475. 
  6476. File: latexinfo2.info  Node: Cross Reference Parts, Prev: Cross Reference Commands, Up: Cross References, Next: xref
  6477.  
  6478. Parts of a Cross Reference
  6479. ==========================
  6480.  
  6481.  
  6482. A cross reference command requires only one argument, which is the name
  6483. of the node to which it refers.  But a cross reference command may
  6484. contain up to four additional arguments.  By using these arguments, you
  6485. can provide a menu item name for Info, a descriptive phrase for the
  6486. printed output, the name of a different Info file, and the name of a
  6487. different printed manual.
  6488.  
  6489. Here is a simple cross reference example:
  6490.  
  6491.      
  6492.      \xref{Node name}.
  6493.  
  6494.  
  6495. which produces
  6496.  
  6497.      
  6498.      *Note Node name::.
  6499.  
  6500.  
  6501. and in LaTeX, it turns into a sentence of the form
  6502.  
  6503.      
  6504.      See section NNN [Node name], page PPP.
  6505.  
  6506.  
  6507. Here, however, is an example of a full five-part cross reference:
  6508.  
  6509.      
  6510.      \xref{Node name, Item name, Topic, info-file-name, 
  6511.      A Printed Manual}, for details.
  6512.  
  6513.  
  6514. which produces
  6515.  
  6516.      
  6517.      *Note Item name: (info-file-name)Node name, for details.
  6518.  
  6519.  
  6520. and
  6521.  
  6522.      
  6523.      See section Topic of A Printed Manual, for details.
  6524.  
  6525.  
  6526. The five arguments for a cross reference are:
  6527.  
  6528.   1. The node name (required).  This is the node to which the cross
  6529.      reference takes you.  In a printed document, the location of the
  6530.      node provides the page reference (for references within the same
  6531.      document).
  6532.      
  6533.   2. The item name for the Info reference, if it is to be different from
  6534.      the node name.  It is usually omitted.
  6535.      
  6536.   3. A topic description or section name.  Often, this is the title of
  6537.      the section.  This is used as the name of the reference in the
  6538.      printed manual.  If omitted, the node name is used.
  6539.      
  6540.   4. The name of the Info file in which the reference is located, if it
  6541.      is different from the current file.
  6542.      
  6543.   5. The name of another printed manual.
  6544.  
  6545.  
  6546. Cross references with one, two, three, four, and five arguments are
  6547. described separately following the description of `\xref'.
  6548.  
  6549. You can write cross reference commands within a paragraph, but note how
  6550. Info and LaTeX format the output of each of the various commands: write
  6551. `\xref' at the beginning of a sentence; write `\pxref' only within
  6552. parentheses, and so on.
  6553.  
  6554. 
  6555. File: latexinfo2.info  Node: xref, Prev: Cross Reference Parts, Up: Cross References, Next: Reference Syntax
  6556.  
  6557. `\xref'
  6558. =======
  6559.  
  6560.  
  6561. The `\xref' command generates a cross reference for the beginning of a
  6562. sentence.  The Info formatting commands convert it into an Info cross
  6563. reference, which the Info `f' command can use to bring you directly to
  6564. another node.  The LaTeX typesetting commands convert it into a page
  6565. reference, or a reference to another book or manual.
  6566.  
  6567. * Menu:
  6568.  
  6569. * Reference Syntax::            What a reference looks like and requires.
  6570. * One Argument::                `\xref' with one argument.
  6571. * Two Arguments::               `\xref' with two arguments.
  6572. * Three Arguments::             `\xref' with three arguments.
  6573. * Four and Five Arguments::     `\xref' with Four and Five Arguments
  6574.  
  6575.  
  6576. 
  6577. File: latexinfo2.info  Node: Reference Syntax, Prev: xref, Up: xref, Next: One Argument
  6578.  
  6579. What a Reference Looks Like and Requires
  6580. ----------------------------------------
  6581.  
  6582.  
  6583.  
  6584. Most often, an Info cross reference looks like this:
  6585.  
  6586.      
  6587.      *Note NODE-NAME::.
  6588.  
  6589.  
  6590. or like this
  6591.  
  6592.      
  6593.      *Note ITEM-NAME: NODE-NAME.
  6594.  
  6595.  
  6596. In LaTeX, a cross reference looks like this:
  6597.  
  6598.      
  6599.      See section SECTION [NODE-NAME], page PAGE
  6600.  
  6601.  
  6602. or like this
  6603.  
  6604.      
  6605.      See section SECTION [TOPIC], page PAGE
  6606.  
  6607.  
  6608. The `\xref' command does not generate a period or comma to end the cross
  6609. reference in either the Info file or the printed output.  You must write
  6610. that period or comma yourself; otherwise, Info will not recognize the
  6611. end of the reference.  (The `\pxref' command works differently.  *Note
  6612. \code{\back pxref: pxref}.)
  6613.  
  6614.      
  6615.      *Please note:* A period or comma *must* follow the closing brace of
  6616.      an `\xref'.  It is required to terminate the cross reference.  This
  6617.      period or comma will appear in the output, both in the Info file
  6618.      and in the printed manual.
  6619.  
  6620.  
  6621. `\xref' must refer to an Info node by name.  Use `\node' to define the
  6622. node (*Note Writing a Node::).
  6623.  
  6624. `\xref' is followed by several arguments inside braces, separated by
  6625. commas.  Whitespace before and after these commas is ignored.
  6626.  
  6627. A cross reference requires only the name of a node; but it may contain
  6628. up to four additional arguments.  Each of these variations produces a
  6629. cross reference that looks somewhat different.
  6630.  
  6631. 
  6632. File: latexinfo2.info  Node: One Argument, Prev: Reference Syntax, Up: xref, Next: Two Arguments
  6633.  
  6634. `\xref' with One Argument
  6635. -------------------------
  6636.  
  6637.  
  6638. The simplest form of `\xref' takes one argument, the name of another
  6639. node in the same Info file.
  6640.  
  6641. For example,
  6642.  
  6643.      
  6644.      \xref{Tropical Storms}.
  6645.  
  6646.  
  6647. produces
  6648.  
  6649.      
  6650.      *Note Tropical Storms::.
  6651.  
  6652.  
  6653. and
  6654.  
  6655.      
  6656.      See section NNN [Tropical Storms], page PPP.
  6657.  
  6658.  
  6659. (Note that in the preceding example the closing brace is followed by a
  6660. period.)
  6661.  
  6662. You can write a clause after the cross reference, like this:
  6663.  
  6664.      
  6665.      \xref{Tropical Storms}, for more info.
  6666.  
  6667.  
  6668. which produces:
  6669.  
  6670.      
  6671.      *Note Tropical Storms::, for more info.
  6672.  
  6673.  
  6674.      
  6675.      See section NNN [Tropical Storms], page PPP, for more info.
  6676.  
  6677.  
  6678. (Note that in the preceding example the closing brace is followed by a
  6679. comma, and then by the clause.)
  6680.  
  6681. 
  6682. File: latexinfo2.info  Node: Two Arguments, Prev: One Argument, Up: xref, Next: Three Arguments
  6683.  
  6684. `\xref' with Two Arguments
  6685. --------------------------
  6686.  
  6687.  
  6688. With two arguments, the second one is used as the name of the Info cross
  6689. reference, while the first argument is still the node that the cross
  6690. reference points to:
  6691.  
  6692. The template is like this:
  6693.  
  6694.      
  6695.      \xref NODE-NAME, ITEM-NAME.
  6696.  
  6697.  
  6698. For example:
  6699.  
  6700.      
  6701.      \xref{Electrical Effects, Lightning}.
  6702.  
  6703.  
  6704. which produces:
  6705.      
  6706.      *Note Lightning: Electrical Effects.
  6707.  
  6708.  
  6709. and 
  6710.  
  6711.      
  6712.      See section NNN [Electrical Effects], page PPP.
  6713.  
  6714.  
  6715. (Note that in the preceding example the closing brace is followed by a
  6716. period; and that the node name is printed, not the item name.)
  6717.  
  6718. You can write a clause after the cross reference, like this:
  6719.  
  6720.      
  6721.      \xref{Electrical Effects, Lightning}, for more info.
  6722.  
  6723.  
  6724. produces
  6725.      
  6726.      *Note Lightning: Electrical Effects, for more info.
  6727.  
  6728.  
  6729. and 
  6730.  
  6731.      
  6732.      See section NNN [Electrical Effects], page PPP, for more info.
  6733.  
  6734.  
  6735. (Note that in the preceding example the closing brace is followed by a
  6736. comma, and then by the clause.)
  6737.  
  6738. 
  6739. File: latexinfo2.info  Node: Three Arguments, Prev: Two Arguments, Up: xref, Next: Four and Five Arguments
  6740.  
  6741. `\xref' with Three Arguments
  6742. ----------------------------
  6743.  
  6744.  
  6745. A third argument replaces the node name in the LaTeX output.  The third
  6746. argument should state the topic discussed by the section being
  6747. referenced, or be the name of the section.  Often, you will want to use
  6748. initial upper case letters so it will be easier to read when the
  6749. reference is printed.  Use a third argument when the node name is
  6750. unsuitable because of syntax or meaning.
  6751.  
  6752. Remember that a comma or period must follow the closing brace of an
  6753. `\xref' command to terminate the cross reference.  In the following
  6754. examples, a clause follows a terminating comma.
  6755.  
  6756.  
  6757. The template is like this:
  6758.  
  6759.      
  6760.      \xref NODE-NAME, ITEM-NAME, TOPIC.
  6761.  
  6762.  
  6763. For example,
  6764.  
  6765.      
  6766.      \xref{Electrical Effects, Lightning, Thunder and Lightning}, for details.
  6767.  
  6768.  
  6769. which produces
  6770.  
  6771.      
  6772.      *Note Lightning: Electrical Effects, for details.
  6773.  
  6774.  
  6775. and
  6776.  
  6777.      
  6778.      See section NNN [Thunder and Lightning], page PPP, for details.
  6779.  
  6780.  
  6781. If a third argument is given and the second one is empty, then the third
  6782. argument serves both.  (Note how two commas, side by side, mark the
  6783. empty second argument.)
  6784.  
  6785.      
  6786.      \xref{Electrical Effects, , Thunder and Lightning}, for details.
  6787.  
  6788.  
  6789. produces
  6790.  
  6791.      
  6792.      *Note Thunder and Lightning: Electrical Effects, for details.
  6793.  
  6794.  
  6795. and
  6796.  
  6797.      
  6798.      See section NNN [Thunder and Lightning], page PPP, for details.
  6799.  
  6800.  
  6801. 
  6802. File: latexinfo2.info  Node: Four and Five Arguments, Prev: Three Arguments, Up: xref, Next: Top Node Naming
  6803.  
  6804. `\xref' with Four and Five Arguments
  6805. ------------------------------------
  6806.  
  6807.  
  6808. In a cross reference, a fourth argument specifies the name of another
  6809. Info file, different from the file in which the reference appears, and a
  6810. fifth argument specifies its title as a printed manual.
  6811.  
  6812. Remember that a comma or period must follow the closing brace of an
  6813. `\xref' command to terminate the cross reference.  In the following
  6814. examples, a clause follows a terminating comma.
  6815.  
  6816. The template is:
  6817.  
  6818.      
  6819.      \xref{NODE-NAME, ITEM-NAME, TOPIC, INFO-FILE-NAME, PRINTED-TITLE}.
  6820.  
  6821.  
  6822. For example,
  6823.  
  6824.      
  6825.      \xref{Electrical Effects, Lightning, Thunder and Lightning, 
  6826.      weather, An Introduction to Meteorology}, for details.
  6827.  
  6828.  
  6829. which produces
  6830.  
  6831.      
  6832.      *Note Lightning: (weather)Electrical Effects, for details.
  6833.  
  6834.  
  6835. The name of the Info file is enclosed in parentheses and precedes
  6836. the name of the node.
  6837.  
  6838. In a printed manual, the reference looks like this:
  6839.  
  6840.      
  6841.      See section Thunder and Lightning of An Introduction to
  6842.      Meteorology, for details.
  6843.  
  6844.  
  6845. The name of the printed manual is typeset in italics; and the reference
  6846. lacks a page number since LaTeX cannot know to which page a refer refers
  6847. when the reference is to another manual.
  6848.  
  6849. Often, you will leave out the second argument when you use the long
  6850. version of `\xref'.  In this case, the third argument, the topic
  6851. description, will be used as the item name in Info.
  6852.  
  6853. The template looks like this:
  6854.  
  6855.      
  6856.      \xref{NODE-NAME, , TOPIC, INFO-FILE-NAME, PRINTED-TITLE}, for details.
  6857.  
  6858.  
  6859. which produces
  6860.  
  6861.      
  6862.      *Note TOPIC: (INFO-FILE-NAME)NODE-NAME, for details.
  6863.  
  6864.  
  6865. and
  6866.  
  6867.      
  6868.      See section TOPIC of PRINTED-MANUAL-TITLE, for details.
  6869.  
  6870.  
  6871. For example:
  6872.  
  6873.      
  6874.      \xref{Electrical Effects, , Thunder and Lightning, 
  6875.      weather, An Introduction to Meteorology}, for details.
  6876.  
  6877.  
  6878. which produces
  6879.  
  6880.      
  6881.      *Note Thunder and Lightning: (weather)Electrical Effects, for details.
  6882.  
  6883.  
  6884. and
  6885.  
  6886.      
  6887.      See section Thunder and Lightning of An Introduction to
  6888.      Meteorology, for details.
  6889.  
  6890.  
  6891. On rare occasions, you may want to refer to another Info file that is is
  6892. within a single printed manual---when multiple LaTeXinfo files are
  6893. incorporated into the same LaTeX run but make separate Info files.  In
  6894. this case, you need to specify only the fourth argument, and not the
  6895. fifth.
  6896.  
  6897. 
  6898. File: latexinfo2.info  Node: Top Node Naming, Prev: Four and Five Arguments, Up: Cross References, Next: ref
  6899.  
  6900. Naming a `Top' Node
  6901. ===================
  6902.  
  6903.  
  6904. In a cross reference, you must always name a node.  This means that in
  6905. order to refer to a whole manual, you must identify the `Top' node by
  6906. writing it as the first argument to the `\xref' command.  (This is
  6907. different from the way you write a menu entry.  *Note Referring to Other
  6908. Info Files: Other Info Files.)  At the same time, to provide a
  6909. meaningful section topic or title in the printed cross reference
  6910. (instead of the word `Top'), you must write an appropriate entry for the
  6911. third argument to the `\xref' command.
  6912.  
  6913.  
  6914. Thus, to make a cross reference to The GNU Make Manual, write:
  6915.  
  6916.      
  6917.      \xref{Top, , Overview, make, The GNU Make Manual}.
  6918.  
  6919.  
  6920. which produces
  6921.  
  6922.      
  6923.      *Note Overview: (make)Top.
  6924.  
  6925.  
  6926. and
  6927.  
  6928.      
  6929.      See section Overview of The GNU Make Manual.
  6930.  
  6931.  
  6932. In this example, `Top' is the name of the node, and `Overview' is the
  6933. name of the first section of the manual.
  6934.  
  6935. 
  6936. File: latexinfo2.info  Node: ref, Prev: Top Node Naming, Up: Cross References, Next: pxref
  6937.  
  6938. `\nxref'
  6939. ========
  6940.  
  6941.  
  6942. `\nxref' is nearly the same as `\xref' except that it does not generate
  6943. a `See' in the printed output, just the reference itself.  This makes it
  6944. useful as the last part of a sentence.
  6945.  
  6946. For example:
  6947.  
  6948.      
  6949.      
  6950.      For more information, see \nxref{Orogenesis, ,
  6951.      Mountaing Building}.
  6952.      
  6953.  
  6954.  
  6955. produces
  6956.  
  6957.      
  6958.      
  6959.      For more information, see *Note Mountain
  6960.      Building: Orogenesis.
  6961.      
  6962.  
  6963.  
  6964. and
  6965.  
  6966.      
  6967.      For more information, see section NNN [Mountain Building].
  6968.      page PPP.
  6969.  
  6970.  
  6971. The `\nxref' command sometimes leads writers to express themselves in a
  6972. manner that is suitable for a printed manual but looks awkward in the
  6973. Info format.  Bear in mind that your audience will be using both the
  6974. printed and the Info format.
  6975.  
  6976. For example,
  6977.  
  6978.      
  6979.      Sea surges are described in \nxref{Hurricanes}.
  6980.  
  6981.  
  6982. produces
  6983.  
  6984.      
  6985.      Sea surges are described in section NNN [Hurricanes].
  6986.  
  6987.  
  6988. in a printed document, but
  6989.  
  6990.      
  6991.      Sea surges are described in *Note Hurricanes::.
  6992.  
  6993.  
  6994. in Info.
  6995.  
  6996.      
  6997.      *Caution:* You *must* write a period or comma immediately after an
  6998.      `\nxref' command with two or more arguments.  Otherwise, Info will
  6999.      not find the end of the cross reference entry and attempts to
  7000.      follow the cross reference will fail.  As a general rule, you
  7001.      should write a period or comma after every `\nxref' command.  This
  7002.      looks best in both the printed and the Info output.
  7003.  
  7004.  
  7005. 
  7006. File: latexinfo2.info  Node: pxref, Prev: ref, Up: Cross References, Next: inforef
  7007.  
  7008. `\pxref'
  7009. ========
  7010.  
  7011.  
  7012. The parenthetical reference command, `\pxref', is nearly the same as
  7013. `\xref', but you use it *only* inside parentheses and you do *not* type
  7014. a comma or period after the command's closing brace.  The command
  7015. differs from `\xref' in two ways:
  7016.  
  7017.   1. LaTeX typesets the reference for the printed manual with a lower
  7018.      case `see' rather than an upper case `See'.
  7019.      
  7020.   2. The Info formatting commands automatically end the reference with a
  7021.      closing colon or period.
  7022.  
  7023.  
  7024. Because one type of formatting automatically inserts closing punctuation
  7025. and the other does not, you should use `\pxref' *only* inside
  7026. parentheses as part of another sentence.  Also, you yourself should not
  7027. insert punctuation after the reference, as you do with `\xref'.
  7028.  
  7029. `\pxref' is designed so that the output looks right and works right
  7030. between parentheses both in printed output and in an Info file.  In a
  7031. printed manual, a closing comma or period should not follow a cross
  7032. reference within parentheses; such punctuation is wrong.  But in an Info
  7033. file, suitable closing punctuation must follow the cross reference so
  7034. Info can recognize its end.  `\pxref' spares you the need to use
  7035. complicated methods to put a terminator into one form of the output and
  7036. not the other.
  7037.  
  7038. Don't try to use `\pxref' as a clause in a sentence.  It will look bad
  7039. in either the Info file, the printed output, or both.  Use it only as a
  7040. parenthetical reference.
  7041.  
  7042. With one argument, a parenthetical cross reference looks like this:
  7043.  
  7044.      
  7045.      ... large storms (\pxref{Hurricanes}) may cause flooding
  7046.      ...
  7047.  
  7048.  
  7049. which produces
  7050.  
  7051.      
  7052.      ... large storms (*Note Hurricanes::) may cause flooding ...
  7053.  
  7054.  
  7055. and
  7056.  
  7057.      
  7058.      ... large storms (see section NNN [Hurricanes], page
  7059.      PPP) may cause flooding ...
  7060.  
  7061.  
  7062. With two arguments, a parenthetical cross reference has this template:
  7063.  
  7064.      
  7065.      ... (\pxref{NODE-NAME, ITEM-NAME}) ...
  7066.  
  7067.  
  7068. which produces
  7069.  
  7070.      
  7071.      ... (*Note ITEM-NAME: NODE-NAME.) ...
  7072.  
  7073.  
  7074. and
  7075.  
  7076.      
  7077.      ... (see section NNN [NODE-NAME], page PPP) ...
  7078.  
  7079.  
  7080. `\pxref' can be used with up to five arguments just like `\xref' (*Note
  7081. \code{\back xref: xref.}).
  7082.  
  7083. 
  7084. File: latexinfo2.info  Node: inforef, Prev: pxref, Up: Cross References, Next: Creating Indices
  7085.  
  7086. `\inforef'
  7087. ==========
  7088.  
  7089.  
  7090. `\inforef' is used for cross references to Info files for which there
  7091. are no printed manuals.  Even in a printed manual, `\inforef' generates
  7092. a reference directing the user to look in an Info file.
  7093.  
  7094. The command takes either two or three arguments, in the following order:
  7095.  
  7096.   1. The node name.
  7097.      
  7098.   2. The item name (optional).
  7099.      
  7100.   3. The Info file name.
  7101.  
  7102.  
  7103. Separate the arguments with commas, as with `\xref'.  Also, you must
  7104. terminate the reference with a comma or period after the `}', as you do
  7105. with `\xref'.
  7106.  
  7107. The template is:
  7108.  
  7109.      
  7110.      \inforef{NODE-NAME, ITEM-NAME, INFO-FILE-NAME},
  7111.  
  7112.  
  7113. Thus,
  7114.  
  7115.      
  7116.      \inforef{Expert, Advanced Info commands, info},
  7117.      for more information.
  7118.  
  7119.  
  7120. produces
  7121.  
  7122.      
  7123.      *Note Advanced Info commands: (info)Expert,
  7124.      for more information.
  7125.  
  7126.  
  7127. and
  7128.  
  7129.      
  7130.      See Info file `info', node `Expert', for more information.
  7131.  
  7132.  
  7133. Similarly,
  7134.  
  7135.      
  7136.      \inforef{Expert, , info}, for more information.
  7137.  
  7138.  
  7139. produces
  7140.  
  7141.      
  7142.      *Note (info)Expert::, for more information.
  7143.  
  7144.  
  7145. and
  7146.  
  7147.      
  7148.      See Info file `info', node `Expert', for more information.
  7149.  
  7150.  
  7151. The converse of `\inforef' is `\cite', which is used to refer to printed
  7152. works for which no Info form exists.  *Note Citations::.
  7153.  
  7154. 
  7155. File: latexinfo2.info  Node: Creating Indices, Prev: inforef, Up: Top, Next: Index Entries
  7156.  
  7157. Creating Indices
  7158. ****************
  7159.  
  7160.  
  7161. Using LaTeXinfo, you can generate indices without having to sort and
  7162. collate entries manually.  In an index, the entries are listed in
  7163. alphabetical order, together with information on how to find the
  7164. discussion of each entry.  In a printed manual, this information
  7165. consists of page numbers.  In an Info file, this information is a menu
  7166. item leading to the first node referenced.
  7167.  
  7168. LaTeXinfo provides several predefined kinds of index: an index for
  7169. functions, an index for variables, an index for concepts, and so on.
  7170. You can combine indices or use them for other than their canonical
  7171. purpose.  If you wish, you can define your own indices.
  7172.  
  7173. * Menu:
  7174.  
  7175. * Index Entries::               Choose different words for index entries.
  7176. * Indexing Commands::           How to make an index entry.
  7177. * Combining Indices::           How to combine indices.
  7178.  
  7179.  
  7180. 
  7181. File: latexinfo2.info  Node: Index Entries, Prev: Creating Indices, Up: Creating Indices, Next: Indexing Commands
  7182.  
  7183. Making Index Entries
  7184. ====================
  7185.  
  7186.  
  7187. When you are making index entries, it is good practice to think of the
  7188. different ways people may look for something.  Different people *do not*
  7189. think of the same words when they look something up.  A helpful index
  7190. will have items indexed under all the different words that people may
  7191. use.  For example, someone might think it obvious that the two-letter
  7192. names for indices should be listed under "Indices, two-letter names",
  7193. since the word "Index" is the general concept.  But another reader may
  7194. remember the specific concept of two-letter names and search for the
  7195. entry listed as "Two letter names for indices".  A good index will have
  7196. both entries and will help both kinds of user.
  7197.  
  7198. Like typesetting, the construction of an index is a highly skilled,
  7199. professional art, the subtleties of which are not appreciated until you
  7200. have to do it yourself.
  7201.  
  7202. *Note Printing an Index and Generating Menus::, for information about
  7203. the commands to put at the beginning and end of the file, for printing
  7204. an index, or creating an index menu in an Info file.
  7205.  
  7206. LaTeXinfo provides six predefined indices:
  7207.  
  7208.    * A "concept index" listing concepts that are discussed.
  7209.      
  7210.    * A "function index" listing functions (such as, entry points of
  7211.      libraries).
  7212.      
  7213.    * A "variables index" listing variables (such as, global variables of
  7214.      libraries).
  7215.      
  7216.    * A "keystroke index" listing keyboard commands.
  7217.      
  7218.    * A "program index" listing names of programs.
  7219.      
  7220.    * A "data type index" listing data types (such as, structures defined
  7221.      in header files).
  7222.  
  7223.  
  7224. Not every manual needs all of these.  This manual has two indices: a
  7225. concept index and an \-command index (that is actually the function
  7226. index but is called a command index in the chapter heading).  Two or
  7227. more indices can be combined into one using the `\synindex' or
  7228. `\syncodeindex' commands.  *Note Combining Indices::.
  7229.  
  7230. 
  7231. File: latexinfo2.info  Node: Indexing Commands, Prev: Index Entries, Up: Creating Indices, Next: Declaring indices
  7232.  
  7233. Defining the Entries of an Index
  7234. ================================
  7235.  
  7236.  
  7237. The data to make an index comes from many individual indexing commands
  7238. scattered throughout the LaTeXinfo source file.  Each command says to
  7239. add one entry to a particular index; after processing, it will give the
  7240. current page number or node name as the reference. An index entry
  7241. consists of an indexing command at the beginning of a line followed by
  7242. the entry in braces.  For example, this section begins with the
  7243. following five entries for the concept index:\refill
  7244.  
  7245.      
  7246.      \cindex{Defining indexing entries}
  7247.      \cindex{Index entries}
  7248.      \cindex{Entries for an index}
  7249.      \cindex{Specifying index entries}
  7250.      \cindex{Creating index entries}
  7251.  
  7252.  
  7253. Each declared index has its own indexing command---`\cindex' for the
  7254. concept index, `\findex' for the function index, and so on.  An index
  7255. must be declared at the beginning of the document with the `\newindex'
  7256. command, before the first use of the corresponding index command.  *Note
  7257. Declaring indices:: for how to use this command.
  7258.  
  7259. The usual convention is to capitalize the first word of each index
  7260. entry, unless that word is the name of a function, variable, or other
  7261. such entitity that should not be capitalized.  Thus, if you are
  7262. documenting Emacs Lisp, your concept index entries are usually
  7263. capitalized, but not your function index entries.  However, if your
  7264. concept index entries are consistently short (one or two words each) it
  7265. may look better for each regular entry to start with a lower case
  7266. letter.  Which ever convention you adapt, please be consistent!
  7267.  
  7268. By default, entries for a concept index are printed in a small roman
  7269. font and entries for the other indices are printed in a small `\code'
  7270. font.  You may change the way part of an entry is printed with the usual
  7271. LaTeXinfo commands, such as `\file' for file names and `\emph' for
  7272. emphasis (*Note Marking Text::).
  7273.  
  7274. The six indexing commands for predefined indices are:
  7275.  
  7276. \cindex{CONCEPT     
  7277.      
  7278.      Make an entry in the concept index for CONCEPT.
  7279.      
  7280. \findex{FUNCTION     
  7281.      
  7282.      Make an entry in the function index for FUNCTION.
  7283.      
  7284. \vindex{VARIABLE     
  7285.      
  7286.      Make an entry in the variable index for VARIABLE.
  7287.      
  7288. \kindex{KEY     
  7289.      
  7290.      Make an entry in the key index for KEY.
  7291.      
  7292. \pindex{PROGRAM     
  7293.      
  7294.      Make an entry in the program index for PROGRAM.
  7295.      
  7296. \tindex{DATA} TYPE     
  7297.      
  7298.      Make an entry in the data type index for DATA TYPE.
  7299.  
  7300.  
  7301.      
  7302.      *Caution:* Do not use a colon in an index entry.  In Info, a colon
  7303.      separates the menu item name from the node name.  An extra colon
  7304.      confuses Info.  *Note Writing a Menu Item: Menu Item, for more
  7305.      information about the structure of a menu entry.
  7306.  
  7307.  
  7308. If the same name is indexed on several pages, all the pages are listed
  7309. in the printed manual's index.  However, *only* the *first* node
  7310. referenced will appear in the index of an Info file.  This means that it
  7311. is best to write indices in which each entry will refer to only one
  7312. place in the LaTeXinfo file.
  7313.  
  7314. * Menu:
  7315.  
  7316. * Declaring indices::           Declaring Indices
  7317. * Special Index Entries::       
  7318.  
  7319.  
  7320. 
  7321. File: latexinfo2.info  Node: Declaring indices, Prev: Indexing Commands, Up: Indexing Commands, Next: Special Index Entries
  7322.  
  7323. Declaring Indices
  7324. -----------------
  7325.  
  7326.  
  7327. The `\newindex' command takes a two-letter index name, and makes the
  7328. index commands for that index available for use.  The `\printindex'
  7329. command takes a two-letter index name, reads the corresponding sorted
  7330. index file and formats it appropriately into an index.  Normally, six
  7331. indices are provided for, and are referred to by their two-letter
  7332. abbreviations:
  7333.  
  7334. cp     
  7335.      
  7336.      A "concept index" listing concepts that are discussed.
  7337.      
  7338. pg     
  7339.      
  7340.      A "program index" listing names of programs and leading to the places
  7341.      where those programs are documented.
  7342.      
  7343. fn     
  7344.      
  7345.      A "function index" listing functions (such as, entry points of
  7346.      libraries).
  7347.      
  7348. vr     
  7349.      
  7350.      A "variables index" listing variables (such as, external variables of
  7351.      libraries).
  7352.      
  7353. tp     
  7354.      
  7355.      A "data type index" listing data types (such as, structures defined in
  7356.      header files).
  7357.      
  7358. ky     
  7359.      
  7360.      A "keystroke index" listing keyboard commands.
  7361.  
  7362.  
  7363. Not every manual needs all of these.  This manual has two indices: a
  7364. concept index and a command index (that uses the function index but is
  7365. called a command index in the chapter heading).  Two or more indices can be
  7366. combined into one using the `\synindex' command.  *Note Combining Indices::.
  7367.  
  7368. You are not actually required to use the predefined indices for their
  7369. canonical purposes.  For example, suppose you wish to index some C
  7370. preprocessor macros.  You could put them in the function index along
  7371. with actual functions, just by writing `\findex' commands for them;
  7372. then, when you print the "function index" as an unnumbered chapter, you
  7373. could give it the title `Function and Macro Index' and all will be
  7374. consistent for the reader.  Or you could put the macros in with the data
  7375. types by writing `\tindex' commands for them, and give that index a
  7376. suitable title so the reader will understand.  (*Note Printing an Index
  7377. and Generating Menus::.)
  7378.  
  7379. * Menu:
  7380.  
  7381. * Special Index Entries::
  7382.  
  7383.  
  7384. 
  7385. File: latexinfo2.info  Node: Special Index Entries, Prev: Declaring indices, Up: Indexing Commands, Next: Combining Indices
  7386.  
  7387. Special Index Entries
  7388. ---------------------
  7389.  
  7390.  
  7391. The concept index has two special index entries to help you make more elaborate
  7392. concept indices.
  7393.  
  7394. `\cpsubindex{topic}{subtopic}' defines an entry in the
  7395. concept index, which has a subtopic.  In the Info manual, this line and
  7396. anything on it is deleted.
  7397.  
  7398. `\cpindexbold{topic}' defines an entry in the concept index,
  7399. which is set in bold type.  In the Info manual, this line and anything
  7400. on it is deleted.
  7401.  
  7402. All other indices have just one special index, the `\??indexbold'
  7403. command, which  sets its entry in bold type.
  7404.  
  7405. 
  7406. File: latexinfo2.info  Node: Combining Indices, Prev: Special Index Entries, Up: Creating Indices, Next: Creating and Installing an Info File
  7407.  
  7408. Combining Indices
  7409. =================
  7410.  
  7411.  
  7412. Sometimes you will want to combine two disparate indices such as
  7413. functions and variables, perhaps because you have few enough of one of
  7414. them that a separate index for them would look silly.
  7415.  
  7416. You could put functions into the concept index by writing `\cindex'
  7417. commands for them instead of `\findex' commands, and produce a
  7418. consistent manual by printing the concept index with the title `Function
  7419. and Concept Index' and not printing the `Function Index' at all; but
  7420. this is not a robust procedure.  It works only if your document is never
  7421. included in part of or together with another document that is designed
  7422. to have a separate function index; if your document were to be included
  7423. with such a document, the functions from your document and those from
  7424. the other would not end up together.  Also, to make your function names
  7425. appear in the right font in the concept index, you would have to enclose
  7426. every one of them between `\code' and `\end{code}'.
  7427.  
  7428. What you should do instead when you want functions and concepts in one
  7429. index is to index the functions with `\findex' as they should be, but
  7430. use the `\syncodeindex' command to redirect these `\findex' commands to
  7431. the concept index.
  7432.  
  7433. The `\syncodeindex' command takes two arguments: the name of an index to
  7434. redirect, and the name of an index to redirect it to:
  7435.  
  7436.      
  7437.      \syncodeindex{FROM}{TO}
  7438.  
  7439.  
  7440. For this purpose, the indices are given two-letter names:
  7441.  
  7442. cp     
  7443.      
  7444.      the concept index
  7445. vr     
  7446.      
  7447.      the variable index
  7448. fn     
  7449.      
  7450.      the function index
  7451. ky     
  7452.      
  7453.      the key index
  7454. pg     
  7455.      
  7456.      the program index
  7457. tp     
  7458.      
  7459.      the data type index
  7460.  
  7461.  
  7462. Write an `\syncodeindex' command before or shortly after the end of
  7463. header line at the beginning of a LaTeXinfo file.  For example, to merge
  7464. a function index with a concept index, write the following:
  7465.  
  7466.      
  7467.      \syncodeindex{fn}{cp}
  7468.  
  7469.  
  7470. This will cause all entries designated for the function index to go to
  7471. the concept index instead.
  7472.  
  7473. The `\syncodeindex' command puts all the entries from the redirected
  7474. index into the `\code' font, overriding whatever default font is used by
  7475. the index to which the entries are redirected.  This way, if you
  7476. redirect function names from a function index into a concept index, all
  7477. the function names are printed the `\code' font as you would expect.
  7478.  
  7479. The `\synindex' command is nearly the same as the `\syncodeindex'
  7480. command, except that it does not put the redirected index into the
  7481. `\code' font, but puts it in the roman font.
  7482.  
  7483. *Note Printing an Index and Generating Menus::, for information about
  7484. printing an index at the end of a book or creating an index menu in an
  7485. Info file.
  7486.  
  7487. 
  7488. File: latexinfo2.info  Node: Creating and Installing an Info File, Prev: Combining Indices, Up: Top, Next: Creating an Info file
  7489.  
  7490. Creating and Installing an Info File
  7491. ************************************
  7492.  
  7493.  
  7494. * Menu:
  7495.  
  7496. * Creating an Info file::       
  7497. * Installing an Info File::     
  7498.  
  7499.  
  7500. 
  7501. File: latexinfo2.info  Node: Creating an Info file, Prev: Creating and Installing an Info File, Up: Creating and Installing an Info File, Next: latexinfo-format commands
  7502.  
  7503. Creating an Info file
  7504. =====================
  7505.  
  7506.  
  7507.  
  7508. In GNU Emacs, the way to create an Info file is to visit the file and
  7509. invoke
  7510.  
  7511.      
  7512.      `M-x latexinfo-format-buffer'
  7513.  
  7514.  
  7515. A new buffer is created and the Info file text is generated there.  ^x
  7516. ^s (`save-buffer') will save it under the name specified in the
  7517. `\setfilename' command.  `latexinfo-format-region' and
  7518. `latexinfo-format-buffer' are the two Emacs commands that you can also
  7519. use for formatting.  A LaTeXinfo file must possess an `\setfilename'
  7520. line near its beginning, otherwise the formatting commands will fail.
  7521.  
  7522. For information on installing the Info file in the Info system, see
  7523. *Note Installing an Info File::.
  7524.  
  7525. * Menu:
  7526.  
  7527. * latexinfo-format commands::   The `latexinfo-format...' Commands
  7528. * Tag and Split Files::         Tag Files and Split Files
  7529.  
  7530.  
  7531. 
  7532. File: latexinfo2.info  Node: latexinfo-format commands, Prev: Creating an Info file, Up: Creating an Info file, Next: Tag and Split Files
  7533.  
  7534. The latexinfo-format Commands
  7535. -----------------------------
  7536.  
  7537.  
  7538. In GNU Emacs in LaTeXinfo mode, you can format part or all of a
  7539. LaTeXinfo file with the `latexinfo-format-region' command.  This formats
  7540. the current region and displays the formatted text in a temporary buffer
  7541. called `*Info Region*'.
  7542.  
  7543. Similarly, you can format the whole file with the
  7544. `latexinfo-format-buffer' command.  This command creates a new buffer
  7545. and generates the Info file in it.  Typing `C-x C-s' will save the Info
  7546. file under the name specified by the `\setfilename' line which must be
  7547. near the beginning of the LaTeXinfo file.  *Note Info Formatting::, for
  7548. how to use the commands:
  7549.  
  7550. C-c C-e C-r (`latexinfo-format-region')     
  7551.      
  7552.      Format the current region for Info.
  7553.      
  7554. C-c C-e C-b (`latexinfo-format-buffer')     
  7555.      
  7556.      Format the current buffer for Info.
  7557.  
  7558.  
  7559. The `latexinfo-format-region' and `latexinfo-format-buffer' commands
  7560. provide you with some error checking; and other functions provide you
  7561. with further help in finding formatting errors.  These procedures are
  7562. described elsewhere, *Note Catching Formatting Mistakes::.
  7563.  
  7564. 
  7565. File: latexinfo2.info  Node: Tag and Split Files, Prev: latexinfo-format commands, Up: Creating an Info file, Next: Installing an Info File
  7566.  
  7567. Tag Files and Split Files
  7568. -------------------------
  7569.  
  7570.  
  7571. If a LaTeXinfo file has more than 30,000 bytes,
  7572. `latexinfo-format-buffer' automatically creates a "tag table" for its
  7573. Info file.  With a tag table, Info can jump to new nodes more quickly
  7574. than it can otherwise.
  7575.  
  7576. In addition, if the LaTeXinfo file contains more than about 70,000
  7577. bytes, `latexinfo-format-buffer' splits the large Info file into shorter
  7578. "indirect" subfiles of about 50,000 bytes each.  Big files are split
  7579. into smaller files so that Emacs does not have to make a large buffer to
  7580. hold the whole of a large Info file; instead, Emacs allocates just
  7581. enough memory for the small, split off file that is needed at the time.
  7582. This way, Emacs avoids wasting memory when you run Info.  (Before
  7583. splitting was implemented, Info files were always kept short and
  7584. "include" files were designed as a way to create a single, large printed
  7585. manual out of the smaller Info files.  *Note Include Files::, for more
  7586. information.  Include files are still used for very large documents,
  7587. such as The Emacs Lisp Reference Manual, in which each chapter is a
  7588. separate file.)
  7589.  
  7590. When a file is split, Info itself makes use of a shortened version of
  7591. the original file that contains just the tag table and references to the
  7592. files that were split off.  The split off files are called "indirect"
  7593. files.
  7594.  
  7595. The split off files have names that are created by appending `-1', `-2',
  7596. `-3' and so on to the file names specified by the `\setfilename'
  7597. command.  The shortened version of the original file continues to have
  7598. the name specified by `\setfilename'.
  7599.  
  7600. At one stage in writing a document, for example, the Info file called
  7601. `test-latexinfo' might have looked like this:
  7602.  
  7603.      
  7604.      
  7605.      Info file: test-latexinfo,    -*-Text-*-
  7606.      produced by latexinfo-format-buffer
  7607.      from file: new-manual.tex
  7608.      
  7609.      ^_
  7610.      Indirect:
  7611.      test-latexinfo-1: 102
  7612.      test-latexinfo-2: 50422
  7613.      test-latexinfo-3: 101300
  7614.      ^_^L
  7615.      Tag table:
  7616.      (Indirect)
  7617.      Node: overview^?104
  7618.      Node: info file^?1271
  7619.      Node: printed manual^?4853
  7620.      Node: conventions^?6855
  7621.      ...
  7622.      
  7623.  
  7624.  
  7625. Each of the split off, indirect files, `test-latexinfo-1',
  7626. `test-latexinfo-2', and `test-latexinfo-3', is listed in this file after
  7627. the line that says `Indirect:'.  The tag table is listed after the line
  7628. that says `Tag table:'.
  7629.  
  7630. If you are using `latexinfo-format-buffer' to create Info files, you may
  7631. want to run the `Info-validate' command.  However, you cannot run the
  7632. `M-x Info-validate' node-checking command on indirect files.  For
  7633. information on how to prevent files from being split and how to validate
  7634. the structure of the nodes, *Note Using Info-validate::.
  7635.  
  7636. * Menu:
  7637.  
  7638. * Installing an Info file::
  7639. * Extending LaTeXinfo::
  7640.  
  7641.  
  7642.  
  7643. 
  7644. File: latexinfo2.info  Node: Installing an Info File, Prev: Tag and Split Files, Up: Creating and Installing an Info File, Next: Directory file
  7645.  
  7646. Installing an Info File
  7647. =======================
  7648.  
  7649.  
  7650. Info files are usually kept in the `.../emacs/info'
  7651. directory. This directory is the values of the Emacs variable
  7652. `Info-directory'.
  7653.  
  7654. * Menu:
  7655.  
  7656. * Directory file::              The top level menu for all Info files.
  7657. * New Info File::               Listing a new info file.
  7658. * Other Info Directories::      How to specify Info files that are 
  7659.                                   located in other directories.
  7660.  
  7661.  
  7662. 
  7663. File: latexinfo2.info  Node: Directory file, Prev: Installing an Info File, Up: Installing an Info File, Next: New Info File
  7664.  
  7665. The `dir' File
  7666. --------------
  7667.  
  7668.  
  7669. For Info to work, the `info' directory must contain a file that serves
  7670. as a top level directory for the Info system.  By convention, this file
  7671. is called `dir'.  The `dir' file is itself an Info file.  It contains
  7672. the top level menu for all the Info files in the system.  The menu looks
  7673. like this:
  7674.  
  7675.      
  7676.      * Menu:
  7677.      
  7678.      * Info:    (info).     Documentation browsing system.
  7679.      * Emacs:   (emacs).    The extensible, self-documenting
  7680.                             text editor.
  7681.      * LaTeXinfo: (latexinfo).  With one source file, make 
  7682.                             either a printed manual using 
  7683.                             LaTeX or an Info file.
  7684.      ...
  7685.  
  7686.  
  7687. Each of these menu entries points to the `Top' node of the Info file
  7688. that is named in parentheses. (11) (*Note Directory file-Footnotes::)
  7689. Thus, the `Info' entry points to the `Top' node of the `info' file and
  7690. the `Emacs' entry points to the `Top' node of the `emacs' file.
  7691.  
  7692. In each of the Info files, the `Up' pointer of the `Top' node refers
  7693. back to the `dir' file.  For example, the node line for the `Top' node
  7694. of the Emacs manual looks like this:
  7695.  
  7696.      
  7697.      File: emacs  Node: Top, Up: (DIR), Next: Distrib
  7698.  
  7699.  
  7700. (Note that in this case, the file name is written in upper case
  7701. letters---it can be written in either upper or lower case.  Info has a
  7702. feature that it will change the case of the file name to lower case if
  7703. it cannot find the name as written.)
  7704.  
  7705. 
  7706. File: latexinfo2.info  Node: Directory file-Footnotes, Up: Directory file
  7707.  
  7708. (11) The menu entry does not have to specify the `Top' node, since Info
  7709. goes to the `Top' node if no node name is mentioned.  *Note Nodes in Other Info Files: Other Info Files.
  7710.  
  7711. 
  7712. File: latexinfo2.info  Node: New Info File, Prev: Directory file, Up: Installing an Info File, Next: Other Info Directories
  7713.  
  7714. Listing a New Info File
  7715. -----------------------
  7716.  
  7717.  
  7718. To add a new Info file to your system, add the name to the menu in the
  7719. `dir' file by editing the `dir' file by hand.  Also, put the new Info
  7720. file in the `.../emacs/info' directory.  For example, if you were adding
  7721. documentation for GDB, you would make the following new entry:
  7722.  
  7723.      
  7724.      * GDB: (gdb).           The source-level C debugger.
  7725.  
  7726.  
  7727. The first item is the menu item name; it is followed by a colon.  The
  7728. second item is the name of the Info file, in parentheses; it is followed
  7729. by a period.  The third part of the entry is the description of the
  7730. item.
  7731.  
  7732. Conventionally, the name of an Info file has a `.info' extension.  
  7733. Thus, you might list the name of the file like this:
  7734.  
  7735.      
  7736.      * GDB: (gdb.info).           The source-level C debugger.
  7737.  
  7738.  
  7739. However, Info will look for a file with a `.info' extension if it
  7740. does not find the file under the name given in the menu.  This means
  7741. that you can write to `gdb.info' in a menu as `gdb', as
  7742. shown in the first example.  This looks better.
  7743.  
  7744. 
  7745. File: latexinfo2.info  Node: Other Info Directories, Prev: New Info File, Up: Installing an Info File, Next: LaTeXinfo Mode
  7746.  
  7747. Info Files in Other Directories
  7748. -------------------------------
  7749.  
  7750.  
  7751. If an Info file is not in the `info' directory, there are two ways to
  7752. specify its location:
  7753.  
  7754.    * Write the menu's second part as a pathname, or;
  7755.      
  7756.    * Specify an environment variable in your `.profile' or `.login'
  7757.      initialization file.
  7758.  
  7759.  
  7760. For example, to reach a test file in the `~bob/manuals' directory, you
  7761. could add an entry like this to the menu in the `dir' file:
  7762.  
  7763.      
  7764.      * Test: (~bob/manuals/info-test).  Bob's own test file.
  7765.  
  7766.  
  7767. In this case, the absolute file name of the `info-test' file is written
  7768. as the second item of the menu entry.
  7769.  
  7770. Alternatively, you may set the `INFOPATH' environment variable in your
  7771. `.login' or `.profile' file.  The `INFOPATH' environment variable will
  7772. tell Info where to look.
  7773.  
  7774. If you use `sh' or `bash' for your shell command interpreter, you must
  7775. set the `INFOPATH' environment variable in the `.profile' initialization
  7776. file; but if you use `csh' or `tcsh', you must set the variable in the
  7777. `.login' initialization file.  The two files require slightly different
  7778. command formats.
  7779.  
  7780.    * In a `.login' file, you could set the `INFOPATH' variable as
  7781.      follows:
  7782.      
  7783.           
  7784.           setenv INFOPATH .:~bob/manuals:/usr/local/emacs/info
  7785.      
  7786.      
  7787.    * In a `.profile' file, you would achieve the same effect by writing:
  7788.      
  7789.           
  7790.           INFOPATH=.:~bob/manuals:/usr/local/emacs/info
  7791.           export INFOPATH
  7792.      
  7793.  
  7794.  
  7795. Either form would cause Info to look first in the current directory,
  7796. indicated by the `.', then in the `~bob/manuals' directory, and finally
  7797. in the `/usr/local/emacs/info' directory (which is the usual location
  7798. for the standard Info directory).
  7799.  
  7800.  
  7801. 
  7802. File: latexinfo2.info  Node: LaTeXinfo Mode, Prev: Other Info Directories, Up: Top, Next: Emacs Editing
  7803.  
  7804. Using LaTeXinfo Mode
  7805. ********************
  7806.  
  7807.     
  7808.  
  7809. In GNU Emacs, LaTeXinfo mode provides commands and features especially
  7810. designed for working with LaTeXinfo files.  The special LaTeXinfo
  7811. commands are in addition to the usual editing commands, which are
  7812. generally the same as the commands of Text mode.  There are special
  7813. commands to:
  7814.  
  7815.    * 
  7816.      Insert commonly used strings of text.
  7817.      
  7818.    * Automatically create node lines.
  7819.      
  7820.    * Show the structure of a LaTeXinfo source file.
  7821.      
  7822.    * Automatically create or update the `Next',
  7823.      `Previous', and `Up' pointers of a node.
  7824.      
  7825.    * Automatically create or update menus.
  7826.      
  7827.    * Automatically create a master menu.
  7828.      
  7829.    * 
  7830.      Format a part or all of a file for Info.
  7831.      
  7832.    * Typeset and print part or all of a file.
  7833.  
  7834.  
  7835. * Menu:
  7836.  
  7837. * Emacs Editing::               LaTeXinfo mode adds to the usual 
  7838.                                   editing commands.
  7839. * Inserting::                   How to insert frequently used commands. 
  7840. * Showing the Structure::       How to show the structure of a file.
  7841. * Updating Nodes and Menus::    How to update or create new nodes and menus.
  7842. * Info Formatting::             Formatting for Info.
  7843. * Printing::                    How to format and print part or all of a file.
  7844. * LaTeXinfo Mode Summary::      Summary of all the LaTeXinfo mode commands.
  7845.  
  7846.  
  7847. 
  7848. File: latexinfo2.info  Node: Emacs Editing, Prev: LaTeXinfo Mode, Up: LaTeXinfo Mode, Next: Inserting
  7849.  
  7850. The Usual Editing Commands 
  7851. ===========================
  7852.  
  7853.  
  7854.  
  7855.  
  7856. ------------------------------------------------------------------------
  7857.      In LaTeXinfo mode the paragraph separation variable and syntax
  7858.      table are redefined so that LaTeXinfo commands that should be on
  7859.      lines of their own are not inadvertently included in paragraphs.
  7860.      Thus, the `M-q' (`fill-paragraph') command will refill a paragraph
  7861.      but not mix an indexing command on a line adjacent to it into the
  7862.      paragraph.
  7863.      
  7864.      In addition, LaTeXinfo mode sets the `page-delimiter' variable to
  7865.      the value of `latexinfo-chapter-level-regexp'; by default, this is
  7866.      a regular expression matching the commands for chapters and
  7867.      sections.  With this value for the page delimiter, you can jump
  7868.      from chapter title to chapter title with the `C-x ]'
  7869.      (`forward-page') and `C-x [' (`backward-page') commands and narrow
  7870.      to a chapter with the `C-x p' (`narrow-to-page') command.  (*Note
  7871.      Pages: (emacs)Pages, for details about the page commands.)
  7872.  
  7873. ------------------------------------------------------------------------
  7874.  
  7875. You may name a LaTeXinfo file however you wish, but the convention is to
  7876. end a LaTeXinfo file name with `.tex'.  Emacs switches to LaTeXinfo mode
  7877. for a file that has `-*-latexinfo-*-' in its first line.  If ever you
  7878. are in another mode and wish to switch to LaTeXinfo mode, type `M-x
  7879. latexinfo-mode'.
  7880.  
  7881. Like all other Emacs features, you can customize or enhance LaTeXinfo
  7882. mode as you wish.  In particular, the keybindings are very easy to
  7883. change.  The keybindings described here are the default or standard
  7884. ones.
  7885.  
  7886. 
  7887. File: latexinfo2.info  Node: Inserting, Prev: Emacs Editing, Up: LaTeXinfo Mode, Next: Showing the Structure
  7888.  
  7889. Inserting Frequently Used Commands
  7890. ==================================
  7891.  
  7892.  
  7893. LaTeXinfo mode provides commands to insert various frequently used
  7894. \-commands into the buffer.  You can use these commands to save
  7895. keystrokes.
  7896.  
  7897. The insert commands are invoked by typing `C-c' twice and then the first
  7898. letter of the \-command.  In the following description, we will list the
  7899. key sequence, and then the name of the LaTeXinfo function that is
  7900. invoked.
  7901.  
  7902. C-c C-c c (latexinfo-insert-code)     
  7903.      
  7904.      Insert `\code{}' and put the cursor between the braces.
  7905.      
  7906. C-c C-c d  (latexinfo-insert-dfn)     
  7907.      
  7908.      Insert `\dfn{}' and put the cursor between the braces.
  7909.      
  7910. C-c C-c e  (latexinfo-insert-end)     
  7911.      
  7912.      Insert `\end'.
  7913.      
  7914. C-c C-c i  (latexinfo-insert-item)     
  7915.      
  7916.      Insert `\item' and put the cursor at the beginning of the next
  7917.      line.
  7918.      
  7919. C-c C-c k (latexinfo-insert-kbd)     
  7920.      
  7921.      Insert `\kbd{}' and put the cursor between the braces.
  7922.      
  7923. C-c C-c n  (latexinfo-insert-node)     
  7924.      
  7925.      Insert `\node' and a comment line listing the sequence for the
  7926.      `Next', `Previous', and `Up' nodes.  Leave cursor after the
  7927.      `\node'.
  7928.      
  7929. C-c C-c o (latexinfo-insert-noindent)     
  7930.      
  7931.      Insert `\noindent' and put the cursor in between.
  7932.      
  7933. C-c C-c s (latexinfo-insert-samp)     
  7934.      
  7935.      Insert `\samp{}' and put the cursor between the braces.
  7936.      
  7937. C-c C-c v (latexinfo-insert-var)     
  7938.      
  7939.      Insert `\var{}' and put the cursor between the braces.
  7940.      
  7941. C-c C-c x (latexinfo-insert-example)     
  7942.      
  7943.      Insert `\begin{example}' `\end{example}' and put the cursor at the
  7944.      beginning of the next line.
  7945.      
  7946. C-c C-c { (latexinfo-insert-braces)     
  7947.      
  7948.      Insert `{}' and put the cursor between the braces.
  7949.      
  7950. C-c C-c } (up-list)     
  7951.      
  7952.      Move from between a set of braces forward past the closing brace.
  7953.  
  7954.  
  7955. ------------------------------------------------------------------------
  7956.      This set of insert commands was created after analyzing the
  7957.      frequency with which different \-commands are used in the GNU Emacs
  7958.      Manual and the GDB Manual.  If you wish to add your own insert
  7959.      commands, you can bind a keyboard macro to a key, use
  7960.      abbreviations, or extend the code in `latexinfo-mde.el'.
  7961.  
  7962. ------------------------------------------------------------------------
  7963.  
  7964. 
  7965. File: latexinfo2.info  Node: Showing the Structure, Prev: Inserting, Up: LaTeXinfo Mode, Next: Updating Nodes and Menus
  7966.  
  7967. Showing the Section Structure of a File
  7968. =======================================
  7969.  
  7970.  
  7971. You can show the section structure of a LaTeXinfo file by using the `C-c
  7972. C-s' command (`latexinfo-show-structure').  This command shows the
  7973. section structure of a LaTeXinfo file by listing the lines that begin
  7974. with the \-commands for `\chapter', `\section', and the like.  The
  7975. command constructs what amounts to a table of contents.  These lines are
  7976. displayed in another buffer called the `*Occur*' buffer.  In that
  7977. buffer, you can position the cursor over one of the lines and use the
  7978. `C-c C-c' command (`occur-mode-goto-occurrence'), to jump to the
  7979. corresponding spot in the LaTeXinfo file.
  7980.  
  7981. C-c C-s  (latexinfo-show-structure)     
  7982.      
  7983.      Show the `\chapter', `\section', and such lines of a LaTeXinfo
  7984.      file.
  7985.      
  7986. C-c C-c (occur-mode-goto-occurrence)     
  7987.      
  7988.      Go to the line in the LaTeXinfo file corresponding to the line
  7989.      under the cursor in the `*Occur*' buffer.
  7990.  
  7991.  
  7992. If you call `latexinfo-show-structure' with a prefix argument by typing
  7993. `C-u C-c C-s', it will list not only those lines with the \-commands for
  7994. `\chapter', `\section', and the like, but also the `\node' lines.  You
  7995. can use `latexinfo-show-structure' with a prefix argument to inspect
  7996. whether the `Next', `Previous', and `Up' pointers of a node line are
  7997. correct.
  7998.  
  7999. Often, when you are working on a manual, you will be interested only in
  8000. the structure of the current chapter.  In this case, you can mark off
  8001. the region of the buffer that you are interested in with the `C-x n'
  8002. (`narrow-to-region') command and `latexinfo-show-structure' will work on
  8003. only that region.  To see the whole buffer again, use `C-x w' (`widen').
  8004. (*Note Narrowing: (emacs)Narrowing, for more information about the
  8005. narrowing commands.)
  8006.  
  8007. In addition to providing the `latexinfo-show-structure' command,
  8008. LaTeXinfo mode sets the value of the page delimiter variable to match
  8009. the chapter-level \-commands.  This enables you to use the `C-x ]'
  8010. (`forward-page') and `C-x [' (`backward-page') commands to move forward
  8011. and backward by chapter, and to use the `C-x p' (`narrow-to-page')
  8012. command to narrow to a chapter.  *Note Pages: (emacs)Pages, for more
  8013. information about the page commands.
  8014.  
  8015. *Note Using latexinfo-show-structure::, for how to detect formatting errors
  8016. using this command.
  8017.  
  8018. 
  8019. File: latexinfo2.info  Node: Updating Nodes and Menus, Prev: Showing the Structure, Up: LaTeXinfo Mode, Next: Updating Commands
  8020.  
  8021. Updating Nodes and Menus
  8022. ========================
  8023.  
  8024.  
  8025. LaTeXinfo mode provides commands for automatically creating or updating
  8026. menus and node pointers.  The commands are called "update" commands
  8027. because their most frequent use is for updating a LaTeXinfo file after
  8028. you have worked on it.
  8029.  
  8030. * Menu:
  8031.  
  8032. * Updating Commands::           Five major updating commands.
  8033. * Updating Requirements::       How to structure a LaTeXinfo file for
  8034.                                   using the updating command.
  8035. * Other Updating Commands::     Indenting descriptions, inserting
  8036.                                   missing nodes lines, and updating 
  8037.                                   nodes in sequence.
  8038. * latexinfo-multiple-files-update::  `latexinfo-multiple-files-update'
  8039.  
  8040.  
  8041. 
  8042. File: latexinfo2.info  Node: Updating Commands, Prev: Updating Nodes and Menus, Up: Updating Nodes and Menus, Next: Updating Requirements
  8043.  
  8044. The Updating Commands
  8045. ---------------------
  8046.  
  8047.  
  8048.  
  8049. You can use the updating commands
  8050.  
  8051.    * to insert or update the `Next', `Previous', and `Up' pointers of a
  8052.      node,
  8053.      
  8054.    * to insert or update the menu for a section, and
  8055.      
  8056.    * to create a master menu for a LaTeXinfo source file.
  8057.  
  8058.  
  8059. You can also use the commands to update all the nodes and menus in a
  8060. region or in a whole LaTeXinfo file.
  8061.  
  8062. LaTeXinfo mode has five updating commands that are used most often: two
  8063. are for updating the node pointers or menu of a single node (or a
  8064. region), two are for updating every node pointer and menu in a file, and
  8065. one, the `latexinfo-master-menu' command, is for creating a master menu
  8066. for a complete file, and optionally, for updating every node and menu in
  8067. the whole LaTeXinfo file.
  8068.  
  8069. The `latexinfo-master-menu' command is the primary command:
  8070.  
  8071. C-c C-u m (latexinfo-master-menu)     
  8072.      
  8073.      Create or update a master menu that includes all the other menus
  8074.      (incorporating the descriptions from pre-existing menus, if any).
  8075.      
  8076.      With an argument (prefix argument, if interactive), first create or
  8077.      update all the nodes and all the regular menus in the buffer before
  8078.      constructing the master menu.  (*Note The Top Node and Master Menu:
  8079.      The Top Node, for more about a master menu.)  For
  8080.      `latexinfo-master-menu' to work, the LaTeXinfo file must have a
  8081.      node called `Top'.
  8082.  
  8083.  
  8084.      
  8085.      After extensively editing a LaTeXinfo file, it is common to type
  8086.      `C-u C-c C-u m' or `C-u M-x latexinfo-master-menu' to update all
  8087.      the nodes and menus completely and all at once.
  8088.  
  8089.  
  8090. The other major updating commands do smaller jobs and are designed for
  8091. the person who updates nodes and menus as he or she writes a LaTeXinfo
  8092. file.  These commands are:
  8093.  
  8094. C-c C-u C-n (latexinfo-update-node)     
  8095.      
  8096.      Insert the `Next', `Previous', and `Up' pointers for the node point
  8097.      is within (i.e., for the `\node' line preceding point).  If the
  8098.      `\node' line has pre-existing `Next', `Previous', or `Up' pointers
  8099.      in it, the old pointers are removed and new ones inserted.  With an
  8100.      argument (prefix argument, if interactive), this command updates
  8101.      all `\node' lines in the region (which is the text between point
  8102.      and mark).
  8103.      
  8104. C-c C-u C-m (latexinfo-make-menu)     
  8105.      
  8106.      Create or update the menu in the node that point is within.  With
  8107.      an argument (prefix argument, if interactive), the command makes or
  8108.      updates menus for the nodes within or part of the region.
  8109.      
  8110.      Whenever `latexinfo-make-menu' updates an existing menu, the
  8111.      descriptions from that menu are incorporated into the new menu.
  8112.      This is done by copying descriptions from the existing menu to the
  8113.      entries in the new menu that have the same node names.  If the node
  8114.      names are different, the descriptions are not copied to the new
  8115.      menu.
  8116.      
  8117.      Menu entries that refer to other Info files are removed since they
  8118.      do not refer to nodes within the current buffer.  This is a
  8119.      deficiency.
  8120.      
  8121. C-c C-u C-e (latexinfo-every-node-update)     
  8122.      
  8123.      Insert or update the `Next', `Previous', and `Up' pointers for
  8124.      every node in the buffer .
  8125.      
  8126. C-c C-u C-a (latexinfo-all-menus-update)     
  8127.      
  8128.      Create or update all the menus in the buffer.  With an argument
  8129.      (prefix argument, if interactive), first insert or update all the
  8130.      node pointers before working on the menus.
  8131.      
  8132.      If a master menu exists, the `latexinfo-all-menus-update' command
  8133.      updates it; but the command does not create a new master menu if
  8134.      none already exists.  (Use the `latexinfo-master-menu' command for
  8135.      that.)
  8136.  
  8137.  
  8138. ------------------------------------------------------------------------
  8139.      The `latexinfo-column-for-description' variable specifies the
  8140.      column to which menu descriptions are indented.  By default, the
  8141.      value is 32 although it is often useful to reduce it to as low as
  8142.      24.  You can set the variable with the `M-x edit-options' command
  8143.      (*Note Editing Variable Values: (emacs)Edit Options), or with the
  8144.      `M-x set-variable' command (*Note Examining and Setting Variables:
  8145.      (emacs)Examining).
  8146.  
  8147. ------------------------------------------------------------------------
  8148.  
  8149. Also, the `latexinfo-indent-menu-description' command may be used to
  8150. indent existing menus to a specified column.Finally, if you wish, you
  8151. can use the `latexinfo-insert-node-lines' command to insert missing
  8152. `\node' lines into a file.  (*Note Other Updating Commands::, for more
  8153. information.)
  8154.  
  8155. 
  8156. File: latexinfo2.info  Node: Updating Requirements, Prev: Updating Commands, Up: Updating Nodes and Menus, Next: Other Updating Commands
  8157.  
  8158. Updating Requirements
  8159. ---------------------
  8160.  
  8161.  
  8162. To use the updating commands, you must organize the LaTeXinfo file
  8163. hierarchically with chapters, sections, subsections, and the like.  Each
  8164. `\node' line, with the exception of the line for the `Top' node, must be
  8165. followed by a line with a structuring command such as `\chapter',
  8166. `\section', or `\unnumberedsubsec'.  Each `\node'
  8167. line/structuring-command line combination must look either like this:
  8168.  
  8169.      
  8170.      
  8171.      \node     Comments,  Minimum, Conventions, Overview
  8172.      \comment  node-name, next,    previous,    up
  8173.      \section{Comments}
  8174.      
  8175.  
  8176.  
  8177. or like this (without the `\comment' line):
  8178.  
  8179.      
  8180.      
  8181.      \node Comments, Minimum, Conventions, Overview
  8182.      \section{Comments}
  8183.      
  8184.  
  8185.  
  8186. (In this example, `Comments' is the name of both the node and the
  8187. section.  The next node is called `Minimum' and the previous node is
  8188. called `Conventions'.  The `Comments' section is within the `Overview'
  8189. node, which is specified by the `Up' pointer.)
  8190.  
  8191. If a file has a `Top' node, it must be called `top' or `Top' and be the
  8192. first node in the file.
  8193.  
  8194. 
  8195. File: latexinfo2.info  Node: Other Updating Commands, Prev: Updating Requirements, Up: Updating Nodes and Menus, Next: latexinfo-multiple-files-update
  8196.  
  8197. Other Updating Commands
  8198. -----------------------
  8199.  
  8200.  
  8201. In addition to the five major updating commands, LaTeXinfo mode
  8202. possesses several less frequently used updating commands.
  8203.  
  8204. C-c C-u C-i (latexinfo-insert-node-lines)     
  8205.      
  8206.       
  8207.      Insert `\node' before the `\chapter', `\section', and other
  8208.      sectioning commands wherever it is missing throughout a region in a
  8209.      LaTeXinfo file.  With an argument (prefix argument, if
  8210.      interactive), the `latexinfo-insert-node-lines' command not only
  8211.      inserts `\node' lines but also inserts the chapter or section
  8212.      titles as the names of the corresponding nodes; and it inserts
  8213.      their titles for node names in pre-existing `\node' lines that lack
  8214.      names.  Since node names should be more concise than section or
  8215.      chapter titles, node names so inserted should be edited manually.
  8216.      Also, section titles cannot contain commas if this command is used,
  8217.      or else only the title yp to the first comma will be used.
  8218.      
  8219. C-c C-u C-f (latexinfo-multiple-files-update)     
  8220.      
  8221.      Update nodes and menus in a document built from several separate
  8222.      files.  With a prefix argument if called interactively (a non-`nil'
  8223.      `make-master-menu' argument, if called non-interactively), create
  8224.      and insert a master menu in the outer file.  With a numeric prefix
  8225.      argument if called interactively (a non-`nil' `update-everything'
  8226.      argument if called non-interactively), first update all the menus
  8227.      and all the `Next', `Previous', and `Up' pointers of all the
  8228.      included files before creating and inserting a master menu in the
  8229.      outer file.  The `latexinfo-multiple-files-update' command is
  8230.      described in the section on `\include' files.  *Note Include
  8231.      Files::.
  8232.      
  8233. C-c C-u C-d (latexinfo-indent-menu-description)     
  8234.      
  8235.      Indent every description in the menu following point to the
  8236.      specified column.  You can use this command to give yourself more
  8237.      space for descriptions.  With an argument (prefix argument, if
  8238.      interactive), the `latexinfo-indent-menu-description' command
  8239.      indents every description in every menu in the region.  However,
  8240.      this command does not indent the second and subsequent lines of a
  8241.      multi-line description.
  8242.      
  8243. C-c C-u C-s (latexinfo-sequential-node-update)     
  8244.      
  8245.      Insert the names of the nodes immediately following and preceding
  8246.      the current node as the `Next' or `Previous' pointers regardless of
  8247.      those nodes' hierarchical level.  This means that the `Next' node
  8248.      of a subsection may well be the next chapter.  Sequentially ordered
  8249.      nodes are useful for documents that you read through sequentially.
  8250.      (However, in Info, the `g* RET' command lets you look through the
  8251.      file sequentially, so sequentially ordered nodes are not strictly
  8252.      necessary.)  With an argument (prefix argument, if interactive),
  8253.      the `latexinfo-sequential-node-update' command sequentially updates
  8254.      all the nodes in the region.
  8255.  
  8256.  
  8257. 
  8258. File: latexinfo2.info  Node: latexinfo-multiple-files-update, Prev: Other Updating Commands, Up: Updating Nodes and Menus, Next: Info Formatting
  8259.  
  8260. `latexinfo-multiple-files-update'
  8261. ---------------------------------
  8262.  
  8263.  
  8264. The `latexinfo-multiple-files-update' command creates or updates `Next',
  8265. `Previous', and `Up' pointers of included files as well as those in the
  8266. outer or over all LaTeXinfo file, and it creates or updates a main menu
  8267. in the outer file.  *Note Include Files::.  Depending whether you call
  8268. it with optional arguments, it updates only the pointers in the first
  8269. `\node' line of the included files or all of them.
  8270.  
  8271.  
  8272. C-u C-c C-u C-f (latexinfo-multiple-files-update)     
  8273.      
  8274.      Called without any arguments, will:
  8275.      
  8276.         * Create or update the `Next', `Previous', and `Up' pointers of
  8277.           the first `\node' line in each file included in an outer or
  8278.           overall LaTeXinfo file.
  8279.           
  8280.         * Create or update the `Top' level node pointers of the outer or
  8281.           overall file.
  8282.           
  8283.         * Create or update a main menu in the outer file.
  8284.      
  8285.      
  8286. C-u C-c C-u C-f (latexinfo-multiple-files-update)     
  8287.      
  8288.      Called with a prefix argument (a non-`nil' MAKE-MASTER-MENU
  8289.      argument, if called from a program), create and insert a master
  8290.      menu in the outer file in addition to creating or updating pointers
  8291.      in the first `\node' line in each included file and creating or
  8292.      updating the `Top' level node pointers of the outer file.  The
  8293.      master menu is made from all the menus in all the included files.
  8294.      
  8295. C-u 8 C-c C-u C-f (latexinfo-multiple-files-update)     
  8296.      
  8297.      Called with a numeric prefix argument (a non-`nil'
  8298.      UPDATE-EVERYTHING argument, if called from a program):
  8299.      
  8300.         * Create or update the `Top' level node pointers of the outer or
  8301.           overall file.
  8302.           
  8303.         * Create or update *all* the `Next', `Previous', and `Up'
  8304.           pointers of all the included files.
  8305.           
  8306.         * Create or update *all* the menus of all the included files.
  8307.           
  8308.         * And then create a master menu in the outer file.  This is
  8309.           similar to invoking `latexinfo-master-menu' with an argument
  8310.           when you are working with just one file.
  8311.      
  8312.  
  8313.  
  8314. Note the use of the prefix argument in interactive use: with a regular
  8315. prefix argument, just `C-u', the `latexinfo-multiple-files-update'
  8316. command inserts a master menu; with a numeric prefix argument, such as
  8317. `C-u 8', the command updates every pointer and menu in all the files and
  8318. then inserts a master menu.
  8319.  
  8320. 
  8321. File: latexinfo2.info  Node: Info Formatting, Prev: latexinfo-multiple-files-update, Up: LaTeXinfo Mode, Next: Printing
  8322.  
  8323. Formatting for Info
  8324. ===================
  8325.  
  8326.  
  8327. LaTeXinfo mode provides several commands for formatting part or all of a
  8328. LaTeXinfo file for Info.  Often, when you are writing a document, you
  8329. want to format only part of a file---that is, a region.  You can use the
  8330. `latexinfo-format-region' command to format a region.
  8331.  
  8332. C-c C-e C-r (latexinfo-format-region)     
  8333.      
  8334.      Format the current region for Info.
  8335.  
  8336.  
  8337. You can use the `latexinfo-format-buffer' command to format a whole
  8338. buffer:
  8339.  
  8340. C-c C-e C-b (latexinfo-format-buffer)     
  8341.      
  8342.      Format the current buffer for Info.
  8343.  
  8344.  
  8345.      
  8346.      After writing a LaTeXinfo file, you can type `C-u C-c C-u m' or
  8347.      `C-u M-x latexinfo-master-menu' to update all the nodes and menus
  8348.      and then type `C-c C-u b' or `M-x latexinfo-format-buffer' to
  8349.      create an Info file.
  8350.  
  8351.  
  8352. For the Info formatting commands to work, the file *must* include a line
  8353. that has `\setfilename' in its header.  *Note Creating and Installing an
  8354. Info File::, for details about Info formatting.
  8355.  
  8356. 
  8357. File: latexinfo2.info  Node: Printing, Prev: Info Formatting, Up: LaTeXinfo Mode, Next: LaTeXinfo Mode Summary
  8358.  
  8359. Formatting and Printing
  8360. =======================
  8361.  
  8362.  
  8363. Typesetting and printing a LaTeXinfo file is a multi-step process in
  8364. which you first create a file for printing (called a dvi file), and then
  8365. you print the file.  Optionally, also, you may create indices.
  8366.  
  8367. Often, when you are writing a document, you want to typeset and print
  8368. only part of a file, to see what it will look like.  You can use the
  8369. `latexinfo-latex-region' and related commands for this purpose.  Use the
  8370. `latexinfo-latex-buffer' command to format all of a buffer.
  8371.  
  8372. C-c C-t C-r (latexinfo-latex-region)     
  8373.      
  8374.      Run LaTeX on the region.
  8375.      
  8376. C-c C-t C-b (latexinfo-latex-buffer)     
  8377.      
  8378.      Run LaTeX on the buffer.
  8379.      
  8380. C-c C-t C-i (latexinfo-latexindex)     
  8381.      
  8382.      Sort the indices of a LaTeXinfo file formatted with
  8383.      `latexinfo-latex-region' or `latexinfo-latex-buffer'.  You must run
  8384.      the `latex' command a second time after sorting the raw index
  8385.      files.
  8386.      
  8387. C-c C-t C-p (latexinfo-latex-print)     
  8388.      
  8389.      Print the file (or the part of the file) previously formatted with
  8390.      `latexinfo-latex-buffer' or `latexinfo-latex-region'.
  8391.  
  8392.  
  8393. For `latexinfo-latex-region' or `latexinfo-latex-buffer' to work, the
  8394. file *must* start with a `\documentstyle' line and must include an
  8395. `\setfilename' command as an end of header line.  The file must end with
  8396. `\end{document}' on a line by itself.
  8397.  
  8398. *Note Printing Hardcopy::, for a description of the other LaTeX related
  8399. commands, such as `latexinfo-latexindex' and `latex-show-print-queue'.
  8400.  
  8401. 
  8402. File: latexinfo2.info  Node: LaTeXinfo Mode Summary, Prev: Printing, Up: LaTeXinfo Mode, Next: Printing Hardcopy
  8403.  
  8404. LaTeXinfo Mode Summary
  8405. ======================
  8406.  
  8407.  
  8408. In LaTeXinfo mode, each set of commands has default keybindings that
  8409. begin with the same keys.  All the commands that are custom-created for
  8410. LaTeXinfo mode begin with `C-c'.  The keys that follow are arranged
  8411. mnemonically.
  8412.  
  8413. Insert Commands     
  8414.      
  8415.      The insert commands begin with `C-c' twice and then the first
  8416.      letter of the \-command to be inserted.
  8417.      
  8418.           
  8419.           C-c C-c c       Insert `\code'.
  8420.           C-c C-c d       Insert `\dfn'.
  8421.           C-c C-c e       Insert `\end{}'.
  8422.           C-c C-c i       Insert `\item'.
  8423.           C-c C-c n       Insert `\node'.
  8424.           C-c C-c s       Insert `\samp'.
  8425.           C-c C-c v       Insert `\var'.
  8426.           C-c C-c {       Insert braces.
  8427.           C-c C-c }       Move out of enclosing braces.
  8428.      
  8429.      
  8430. Show Structure     
  8431.      
  8432.      `latexinfo-show-structure' is often used within a narrowed region.
  8433.      
  8434.           
  8435.           C-c C-s         List all the headings.
  8436.      
  8437.      
  8438. The Master Update Command     
  8439.      
  8440.      The `latexinfo-master-menu' command creates a master menu; and can
  8441.      be used to update every node and menu in a file as well.
  8442.      
  8443.           
  8444.           C-c C-u m       Create or update a master menu.
  8445.           C-u C-c C-u m   First create or update all nodes and regular menus.
  8446.      
  8447.      
  8448. Update Pointers     
  8449.      
  8450.      
  8451.      The update pointer commands begin with `C-c C-u':
  8452.      
  8453.           
  8454.           C-c C-u C-n     Update a node.
  8455.           C-c C-u C-e     Update every node in the buffer.
  8456.      
  8457.      
  8458. Update Menus     
  8459.      
  8460.      
  8461.      The update menu commands begin with `C-c C-u'.  You may precede a
  8462.      `C-c C-u C-a' so as to update both nodes and menus.
  8463.      
  8464.           
  8465.           C-c C-u C-m     Make or update a menu.
  8466.           
  8467.           C-c C-u C-a     Make or update all the menus in a buffer;
  8468.           C-u C-c C-u C-a first update all the nodes.
  8469.      
  8470.      
  8471. Format for Info     
  8472.      
  8473.      The Info formatting commands begin with `C-c C-e':
  8474.      
  8475.           
  8476.           C-c C-e C-r     Format the region.
  8477.           C-c C-e C-b     Format the buffer.
  8478.      
  8479.      
  8480. Typeset and Print     
  8481.      
  8482.      The typesetting and printing commands begin with `C-c C-t':
  8483.      
  8484.           
  8485.           C-c C-t C-r     Run LaTeX on the region.
  8486.           C-c C-t C-b     Run LaTeX on the buffer.
  8487.           C-c C-t C-i     Run `latexindex'.
  8488.           C-c C-t C-p     Print the dvi file.
  8489.           C-c C-t C-q     Show the print queue.
  8490.           C-c C-t C-d     Delete a job from the print queue.
  8491.           C-c C-t C-k     Kill the current LaTeX formatting job.
  8492.           C-c C-t C-x     Quit a currently stopped LaTeX formatting job.
  8493.           C-c C-t C-l     Recenter the output buffer.
  8494.      
  8495.      
  8496. Other Updating Commands     
  8497.      
  8498.      The `other updating commands' begin with `C-c C-u'
  8499.      
  8500.           
  8501.           C-c C-u C-i     Insert missing node lines using 
  8502.                           section titles as node names.
  8503.           C-c C-u C-f     Update a multi-file document.
  8504.           C-c C-u C-d     Indent descriptions.
  8505.           C-c C-u C-s     Insert node pointers in strict sequence.
  8506.      
  8507.  
  8508.  
  8509.  
  8510. 
  8511. File: latexinfo2.info  Node: Printing Hardcopy, Prev: LaTeXinfo Mode Summary, Up: Top, Next: How to Print
  8512.  
  8513. Printing Hardcopy
  8514. *****************
  8515.  
  8516.  
  8517.  
  8518. The typesetting program LaTeX is used for formatting a LaTeXinfo file.
  8519. LaTeX is a very powerful typesetting program and, if used correctly,
  8520. does an exceptionally good job.
  8521.  
  8522. There are three major stages for printing hardcopy of a LaTeXinfo file.
  8523. One is for formatting the file, the second is for sorting the index, and
  8524. the third is for printing the formatted document.  When you use the
  8525. shell commands, you can either work directly in the operating system
  8526. shell or work within a shell inside of GNU Emacs.
  8527.  
  8528. Instead of shell commands, you can use commands provided by LaTeXinfo
  8529. mode.  In addition to three commands to format a file, sort the indices,
  8530. and print the result, LaTeXinfo mode offers key bindings for commands to
  8531. recenter the output buffer, show the print queue, and delete a job from
  8532. the print queue.
  8533.  
  8534. * Menu:
  8535.  
  8536. * How to Print::                How to print a hardcopy manual with
  8537.                                   shell commands.
  8538. * Printing from Emacs::         How to print from an Emacs shell.
  8539. * LaTeXinfo Mode Printing::     How to format and print in LaTeXinfo mode.
  8540. * Compile-Command::             How to print using Emacs's compile command.
  8541. * Preparing for LaTeX::         Preparing for Use of LaTeX
  8542. * Overfull Hboxes::             What are and what to do with overfull hboxes.
  8543.  
  8544.  
  8545.  
  8546. 
  8547. File: latexinfo2.info  Node: How to Print, Prev: Printing Hardcopy, Up: Printing Hardcopy, Next: Printing from Emacs
  8548.  
  8549. How to Print Using Shell Commands
  8550. =================================
  8551.  
  8552.  
  8553. Format the LaTeXinfo file with the shell command `latex' followed by the
  8554. name of the LaTeXinfo file.  This produces a formatted dvi file as well
  8555. as several auxiliary files containing indices, cross references, etc.
  8556. The dvi file (for "DeVice Independent" file) can be printed on a wide
  8557. variety of printers.
  8558.  
  8559. The `latex' formatting command itself does not sort the indices; it
  8560. writes an output file of unsorted index data.  Hence, to generate a
  8561. printed index, you first need a sorted index to work from.  The
  8562. `latexindex' command sorts indices. (12) (*Note How to
  8563. Print-Footnotes::)
  8564.  
  8565. The `latex' formatting command outputs unsorted index files under names
  8566. that obey a standard convention.  These names are the name of your main
  8567. input file to the `latex' formatting command, with everything after the
  8568. first period thrown away, and the two letter names of indices added at
  8569. the end.  For example, the raw index output files for the input file
  8570. `foo.tex' would be `foo.cp', `foo.vr', `foo.fn', `foo.tp', `foo.pg' and
  8571. `foo.ky'.  Those are exactly the arguments to give to `latexindex'.  Or
  8572. else, under Unix you can use `??' as "wild-cards" and give the command
  8573. in this form:
  8574.  
  8575.      
  8576.      latexindex foo.??
  8577.  
  8578.  
  8579. This command will run `latexindex' on all the unsorted index files.
  8580. (You may execute `latexindex foo.??' even if there are similarly named
  8581. files with two letter extensions that are not index files, such as
  8582. `foo.el'.  The `latexindex' command reports but otherwise ignores such
  8583. files.) For each file specified, `latexindex' generates a sorted index
  8584. file whose name is made by appending `s' to the input file name.  The
  8585. `\printindex' command knows to look for a file of that name.
  8586. `latexindex' does not alter the raw index output file.
  8587.  
  8588. If you have a bibliography, you must also run the BibTeX program
  8589. on the `aux' file generated by LaTeX. For example,
  8590.      
  8591.      bibtex foo.aux
  8592.  
  8593.  
  8594. After you have sorted the indices or formatted the bibliography, you
  8595. need to rerun the `latex' formatting command on the LaTeXinfo file.
  8596. This regenerates a formatted dvi file with up-to-date index entries.
  8597. (13) (*Note How to Print-Footnotes::)
  8598.  
  8599. To summarize, this is a three step process:
  8600.  
  8601.   1. 
  8602.      Run the `latex' formatting command on the LaTeXinfo file.  This
  8603.      generates the formatted dvi file as well as the raw index files
  8604.      with two letter extensions.
  8605.      
  8606.   2. 
  8607.      Run the shell command `latexindex' on the raw index files to sort
  8608.      them.  This creates the corresponding sorted index files.
  8609.      
  8610.   3. 
  8611.      Run the shell command `bibtex' on the raw index files to format the
  8612.      bibliography.  This creates the corresponding `.bbl' file.
  8613.      
  8614.      
  8615.   4. 
  8616.      Rerun the `latex' formatting command on the LaTeXinfo file.  This
  8617.      regenerates a formatted dvi file with the index entries in the
  8618.      correct order.  This second run also makes all the cross references
  8619.      correct as well.
  8620.  
  8621.  
  8622. You need not run `latexindex' each time after you run the `latex'
  8623. formatting.  If you don't, on the next run, the `latex' formatting
  8624. command will use whatever sorted index files happen to exist from the
  8625. previous use of `latexindex'.  This is usually ok while you are in the
  8626. early stages of writing a document.
  8627.  
  8628. Rather than type the `latex, bibtex' and `latexindex' commands yourself,
  8629. you can use the shell script `latex2dvi'.  This shell script is designed
  8630. to simplify the `latex', `latexindex', `bibtex', `latex' sequence by
  8631. figuring out whether index files and dvi files are up-to-date.  It runs
  8632. `latexindex' and `latex' only when necessary.  The syntax for
  8633. `latex2dvi' is like this (where `%' is the shell prompt):
  8634. \findex{latex2dvi \r{(shell script)}}
  8635.  
  8636.      
  8637.      % latex2dvi FILENAMES...
  8638.  
  8639.  
  8640. Finally, you can print a dvi file with the dvi print command.  The
  8641. precise command to use depends on the system; `lpr -d' is common.  The
  8642. dvi print command may require a file name without any extension or with
  8643. a `.dvi' extension.
  8644.  
  8645. The following commands, for example, sort the indices, format, and print
  8646. the Foo Lisp Manual (where `%' is the shell prompt):
  8647.  
  8648.      
  8649.      % latex foo.tex
  8650.      % latexindex foo.??
  8651.      % bibtex foo.aux
  8652.      % latex foo.tex
  8653.      % lpr -d foo.dvi
  8654.  
  8655.  
  8656. (Remember that the shell commands may be different at your site; but
  8657. these are commonly used versions.)
  8658.  
  8659. 
  8660. File: latexinfo2.info  Node: How to Print-Footnotes, Up: How to Print
  8661.  
  8662. (12) The source file `latexindex.c' comes as part of the standard
  8663. LaTeXinfo distribution and is usually installed when LaTeXinfo is
  8664. installed.
  8665.  
  8666. (13) If you use more than one index and have cross references to an
  8667. index other than the first, you must run `latex' *three times*
  8668. to get correct output: once to generate raw index data; again (after
  8669. `latexindex') to output the text of the indices and determine their
  8670. true page numbers; and a third time to output correct page numbers in
  8671. cross references to them.  This may also be necessary to update the
  8672. table of contents if the number of pages used by the indices or
  8673. bibliography changed.
  8674.  
  8675. 
  8676. File: latexinfo2.info  Node: Printing from Emacs, Prev: How to Print, Up: Printing Hardcopy, Next: LaTeXinfo Mode Printing
  8677.  
  8678. Printing from an Emacs Shell
  8679. ============================
  8680.  
  8681.  
  8682. You can give formatting and printing commands from a shell within GNU
  8683. Emacs.  To create a shell within Emacs, type `M-x shell'.  In this
  8684. shell, you can format and print the document.  *Note How to Print Using
  8685. Shell Commands: How to Print, for details.
  8686.  
  8687. You can switch to and from the shell buffer while `latex' is
  8688. running and do other editing.  If you are formatting a long document on
  8689. a slow machine, this can be very convenient. You can also use
  8690. `latex2dvi' from an Emacs shell. (*Note How to Print Using Shell Commands: How to Print.)
  8691.  
  8692. *Note LaTeXinfo Mode Printing::, for more information about formatting
  8693. and printing in LaTeXinfo mode.
  8694.  
  8695.  
  8696. 
  8697. File: latexinfo2.info  Node: LaTeXinfo Mode Printing, Prev: Printing from Emacs, Up: Printing Hardcopy, Next: Compile-Command
  8698.  
  8699. Formatting and Printing in LaTeXinfo Mode
  8700. =========================================
  8701.  
  8702.  
  8703. LaTeXinfo mode provides several predefined key commands for LaTeX
  8704. formatting and printing.  These include commands for sorting indices,
  8705. looking at the printer queue, killing the formatting job, and
  8706. recentering display of the buffer in which the operations occur.
  8707.  
  8708. C-c C-t C-r  (latexinfo-latex-region)     
  8709.      
  8710.      Run LaTeX on the current region.
  8711.      
  8712. C-c C-t C-b (latexinfo-latex-buffer)     
  8713.      
  8714.      Run LaTeX on the current buffer.
  8715.      
  8716. C-c C-t C-i (latexinfo-latexindex)     
  8717.      
  8718.      Sort the indices of a LaTeXinfo file formatted with
  8719.      `latexinfo-latex-region' or `latexinfo-latex-buffer'.
  8720.      
  8721. C-c C-t C-p (latexinfo-latex-print)     
  8722.      
  8723.      Print a dvi file that was made with `latexinfo-latex-region' or
  8724.      `latexinfo-latex-buffer'.
  8725.      
  8726. C-c C-t C-q (latexinfo-show-latex-print-queue)     
  8727.      
  8728.      Show the print queue.
  8729.      
  8730. C-c C-t C-d (latexinfo-delete-from-latex-print-queue)     
  8731.      
  8732.      Delete a job from the print queue; you will be prompted for the job
  8733.      number shown by a preceding `C-c C-t C-q' command
  8734.      (`latexinfo-show-latex-print-queue').
  8735.      
  8736. C-c C-t C-k (latexinfo-kill-latex-job)     
  8737.      
  8738.      Kill the currently running LaTeX job started by
  8739.      `latexinfo-latex-region' or `latexinfo-latex-buffer', or any other
  8740.      process running in the LaTeXinfo shell buffer.
  8741.      
  8742. C-c C-t C-x (latexinfo-quit-latex-job)     
  8743.      
  8744.      Quit a LaTeX formatting job that has stopped because of an error by
  8745.      sending an x to it.  When you do this, LaTeX preserves a record of
  8746.      what it did in a `.log' file.
  8747.      
  8748. C-c C-t C-l (latexinfo-recenter-latex-output-buffer)     
  8749.      
  8750.      Redisplay the shell buffer in which the LaTeX printing and
  8751.      formatting commands are run to show its most recent output.
  8752.  
  8753.  
  8754. Thus, the usual sequence of commands for formatting a buffer is as
  8755. follows (with comments to the right):
  8756.  
  8757. ------------------------------------------------------------------------
  8758. `C-c C-t C-b'             Run LaTeX on the buffer.              
  8759. `C-c C-t C-i'             Sort the indices.                     
  8760. `C-c C-t C-b'             Rerun LaTeX to regenerate indices.    
  8761. `C-c C-t C-p'             Print the dvi file.           
  8762. `C-c C-t C-q'             Display the printer queue.            
  8763. ------------------------------------------------------------------------
  8764.  
  8765.                  Table 2 : Formatting a Buffer Commands
  8766.  
  8767.  
  8768. The LaTeXinfo mode LaTeX formatting commands start a subshell in Emacs
  8769. called the `*latexinfo-latex-shell*'.  The `latexinfo-latex-command',
  8770. `latexinfo-latexindex-command', and `latex-dvi-print-command' commands
  8771. are all run in this shell.  You can watch the commands operate in the
  8772. `*latexinfo-latex-shell*' buffer, and you can switch to and from and use
  8773. the `*latexinfo-latex-shell*' buffer as you would any other shell
  8774. buffer.
  8775.  
  8776. The formatting and print commands depend on the values of several
  8777. variables.  The default values are:
  8778.  
  8779. ------------------------------------------------------------------------
  8780. Variable                                          Default value         
  8781. ------------------------------------------------------------------------
  8782. latexinfo-latex-command                           "latex"               
  8783. latexinfo-latexindex-command                      "latexindex"          
  8784. latexinfo-latex-shell-cd-command                  "cd"                  
  8785. latexinfo-latex-dvi-print-command                 "lpr -d"              
  8786. latexinfo-show-latex-queue-command                "lpq"                 
  8787. latexinfo-delete-from-print-queue-command         "lprm"                
  8788. latexinfo-start-of-header                         "\begin{document}"    
  8789. latexinfo-end-of-header                           "\setfilename"        
  8790. latexinfo-latex-trailer                           "\end{document}"       
  8791. ------------------------------------------------------------------------
  8792.  
  8793.                 Table 3 : Formatting a Document Commands
  8794.  
  8795.  
  8796. The default values of `latexinfo-latex-command' and
  8797. `latexinfo-latexindex-command' are set in the `latexnfo-tex.el' file.
  8798.  
  8799. You can change the values of these variables with the `M-x edit-options'
  8800. command (*Note Editing Variable Values: (emacs)Edit Options), with the
  8801. `M-x set-variable' command (*Note Examining and Setting Variables:
  8802. (emacs)Examining), or with your `.emacs' initialization file (*Note Init
  8803. File: (emacs)Init File).
  8804.  
  8805. 
  8806. File: latexinfo2.info  Node: Compile-Command, Prev: LaTeXinfo Mode Printing, Up: Printing Hardcopy, Next: Preparing for LaTeX
  8807.  
  8808. Using the Local Variables List
  8809. ==============================
  8810.  
  8811.  
  8812. Yet another way to apply the LaTeX formatting command to a LaTeXinfo
  8813. file is to put that command in a "local variables list" at the end of
  8814. the LaTeXinfo file.  You can then specify the LaTeX formatting command
  8815. as a `compile-command' and have Emacs run the LaTeX formatting command
  8816. by typing `M-x compile'.  This creates a special shell called the
  8817. `*compilation buffer*' in which Emacs runs the compile command.  For
  8818. example, at the end of the `gdb.texinfo' file, after the
  8819. `\end{document}', you would put the following:
  8820.  
  8821.      
  8822.      \c Local Variables:
  8823.      \c compile-command: "latex2dvi foo.tex"
  8824.      \c End:
  8825.  
  8826.  
  8827. This technique is most often used by programmers who also compile `C'
  8828. programs this way. (*Note Compilation: (emacs)Compilation.)
  8829.  
  8830. Usually, the file's first line contains an `\c -*-latexinfo-*-' comment
  8831. that causes Emacs to switch to LaTeXinfo mode when you edit the file.
  8832. In addition, the beginning must include a `\begin{document}'.  After
  8833. this follows the title page, a copyright page, and permissions, and a
  8834. table of contents.  Besides an `\end{document}', the end of a file
  8835. usually includes indices and the bibliography.
  8836.  
  8837. 
  8838. File: latexinfo2.info  Node: Preparing for LaTeX, Prev: Compile-Command, Up: Printing Hardcopy, Next: Overfull Hboxes
  8839.  
  8840. Preparing for Use of LaTeX
  8841. ==========================
  8842.  
  8843.  
  8844. You must put `latexinfo' as an option to the `documentstyle'
  8845. of every LaTeXinfo file to tell LaTeX to use the
  8846. `latexinfo.sty' file when it is processing the LaTeXinfo source
  8847. file.  Otherwise LaTeX will not know what to do with the commands.
  8848. *Note The Documentstyle::. If LaTeXinfo has been installed
  8849. properly, LaTeX should find the file automatically.  *Note Installing LaTeXinfo::, if you have troubles.
  8850.  
  8851. 
  8852. File: latexinfo2.info  Node: Overfull Hboxes, Prev: Preparing for LaTeX, Up: Printing Hardcopy, Next: Catching Formatting Mistakes
  8853.  
  8854. Overfull "Hboxes"
  8855. =================
  8856.  
  8857.  
  8858. LaTeX is sometimes unable to typeset a line without extending it into
  8859. the right margin.  This can occur when LaTeX comes upon what it
  8860. interprets as a long word that it cannot hyphenate, such as an
  8861. electronic mail network address or a very long title.  When this
  8862. happens, LaTeX prints an error message like this:
  8863.  
  8864.      
  8865.      Overfull \hbox (20.76302pt too wide)
  8866.  
  8867.  
  8868. (In LaTeX, lines are in "horizontal boxes", hence the term, "hbox".)
  8869.  
  8870. LaTeX also provides the line number in the LaTeXinfo source file and the
  8871. text of the offending line, which is marked at all the places that LaTeX
  8872. knows how to hyphenate words.
  8873.  
  8874. If the LaTeXinfo file has an overfull hbox, you can rewrite the sentence
  8875. so the overfull hbox does not occur, or you can decide to leave it.  A
  8876. small excursion into the right margin often does not matter and may not
  8877. even be noticeable.
  8878.  
  8879. However, if you do leave an overfull hbox, unless told otherwise, LaTeX
  8880. will print a large, ugly, black rectangle beside the line.  This is so
  8881. you will notice the location of the problem if you are correcting a
  8882. draft.  To prevent such a mark from marring your final printout, put the
  8883. following in the beginning of the LaTeXinfo file on a line of its own,
  8884. before the `\maketitle' command:
  8885.  
  8886.      
  8887.      \finalout
  8888.  
  8889.  
  8890. 
  8891. File: latexinfo2.info  Node: Catching Formatting Mistakes, Prev: Overfull Hboxes, Up: Top, Next: Debugging with Info
  8892.  
  8893. Catching Formatting Mistakes
  8894. ****************************
  8895.  
  8896.  
  8897. Besides mistakes with the content of what ever you are describing, there
  8898. are two kinds of mistake you can make with LaTeXinfo: you can make
  8899. mistakes with commands, and you can make mistakes with the structure of
  8900. the nodes and chapters.  There are two tools for catching the first kind
  8901. of mistake and two for catching the second.
  8902.  
  8903. For finding problems with commands, your best action is to run `M-x
  8904. latexinfo-format-region' on regions of your file as you write it.  In
  8905. LaTeXinfo mode, the `latexinfo-format-region' command is bound to ^c ^f.
  8906. In addition, you can run LaTeX on the whole file.
  8907.  
  8908. For finding problems with the structure of nodes and chapters, you can
  8909. use ^c ^s (`latexinfo-show-structure') (*Note Using latexinfo-show-structure::,) the related `occur' command
  8910. (pxref{Using occur},) and you can use the `M-x Info-validate'
  8911. command (*Note Running Info-Validate::.)
  8912.  
  8913. * Menu:
  8914.  
  8915. * Debugging with Info::         How to catch errors with Info formatting.
  8916. * Debugging with LaTeX::        How to catch errors with LaTeX formatting.
  8917. * Using latexinfo-show-structure::  How to use `latexinfo-show-structure'.
  8918. * Using occur::                 How to list all lines containing a pattern.
  8919. * Running Info-Validate::       How to find badly referenced nodes.
  8920.  
  8921.  
  8922. 
  8923. File: latexinfo2.info  Node: Debugging with Info, Prev: Catching Formatting Mistakes, Up: Catching Formatting Mistakes, Next: Debugging with LaTeX
  8924.  
  8925. Catching Errors with Info Formatting
  8926. ====================================
  8927.  
  8928.  
  8929. After you have written part of a LaTeXinfo file, you can use the `M-x
  8930. latexinfo-format-region' command to see whether the region formats
  8931. properly.  In LaTeXinfo Mode, this command is bound to the keyboard
  8932. command ^c ^f.  If you have made a mistake with a command, `M-x
  8933. latexinfo-format-region' will stop processing at or after the error and
  8934. give an error message.  To see where in the file the error occurred,
  8935. switch to the `*Info Region*' buffer; the cursor will be in a position
  8936. that is after the location of the error.  Also, the text will not be
  8937. formatted after the place the error occurred (or more precisely, where
  8938. it was detected).
  8939.  
  8940. The `latexinfo-format-region' command sometimes provides slightly odd
  8941. error messages.  For example, if you forget a closing brace,
  8942.  
  8943.      
  8944.      (\xref{Catching Formatting Mistakes, for more info.)
  8945.  
  8946.  
  8947. In this case, `latexinfo-format-region' detects the missing closing
  8948. brace but displays a message that says `Unbalanced parentheses' rather
  8949. than `Unbalanced braces'.  This is because the formatting command looks
  8950. for mismatches between braces as if they were parentheses.
  8951.  
  8952. Sometimes `latexinfo-format-region' fails to detect mistakes.  For
  8953. example, in the following, the closing brace is swapped with the closing
  8954. parenthesis:
  8955.  
  8956.      
  8957.      (\xref{Catching Formatting Mistakes), for more info.}
  8958.  
  8959.  
  8960. Formatting produces:
  8961.      
  8962.      (*Note for more info.: Catching Formatting Mistakes)
  8963.  
  8964.  
  8965. The only way for you to detect this error is to realize that the
  8966. reference should have looked like this:
  8967.  
  8968.      
  8969.      (*Note Catching Formatting Mistakes::, for more info.)
  8970.  
  8971.  
  8972. ------------------------------------------------------------------------
  8973.      Incidently, if you are reading this node in Info and type `f
  8974.      RET' (`Info-follow-reference'), you will generate an error
  8975.      message that says:
  8976.      
  8977.           
  8978.           No such node: "Catching Formatting Mistakes) The only way ...
  8979.      
  8980.      
  8981.      This is because Info perceives the example of the error as the first
  8982.      cross reference in this node and if you type a RET immediately
  8983.      after typing the Info `f' command, Info will attempt to go to the
  8984.      referenced node.  If you type `f catch TAB RET', Info
  8985.      will complete the node name of the correctly written example and take
  8986.      you to the `Catching Formatting Mistakes' node.  (If you try this, you
  8987.      can return from the `Catching Formatting Mistakes' node by typing
  8988.      `l' (`Info-last').)
  8989.  
  8990. ------------------------------------------------------------------------
  8991.  
  8992.  
  8993. 
  8994. File: latexinfo2.info  Node: Debugging with LaTeX, Prev: Debugging with Info, Up: Catching Formatting Mistakes, Next: Using latexinfo-show-structure
  8995.  
  8996. Catching Errors with LaTeX Formatting
  8997. =====================================
  8998.  
  8999.  
  9000. You can also catch mistakes when you format a file with LaTeX.  Usually,
  9001. you will want to do this after you have run `latexinfo-format-buffer' on
  9002. the same file, because `latexinfo-format-buffer' sometimes displays
  9003. error messages that make more sense than LaTeX.  (*Note Debugging with
  9004. Info::, for more information.)
  9005.  
  9006. For example, LaTeX was run on a LaTeXinfo file, part of which is shown
  9007. here:
  9008.  
  9009.      
  9010.      ---------- Buffer: latexinfo.tex ----------
  9011.      name of the latexinfo file as an extension.  The
  9012.      \samp{??} are `wildcards' that cause the shell to
  9013.      substitute all the raw index files.  (\xref{sorting
  9014.      indices, for more information about sorting
  9015.      indices.)\refill
  9016.      ---------- Buffer: latexinfo.tex ----------
  9017.  
  9018.  
  9019. (The cross reference lacks a closing brace.)  LaTeX produced the
  9020. following output, after which it stopped:
  9021.  
  9022.      
  9023.      ---------- Buffer: *latexinfo-latex-shell* ----------
  9024.      Runaway argument?
  9025.      {sorting indices, for more information about sorting 
  9026.      indices.) \refill \ETC.
  9027.      ! Paragraph ended before \xref was complete.
  9028.      <to be read again> 
  9029.                         \par 
  9030.      l.27 
  9031.           
  9032.      ? 
  9033.      ---------- Buffer: *latexinfo-latex-shell* ----------
  9034.  
  9035.  
  9036. In this case, LaTeX produced an accurate and understandable error message: 
  9037.  
  9038.      
  9039.      Paragraph ended before \xref was complete.
  9040.  
  9041.  
  9042. (`\par' is an internal LaTeX command, which is how it represents a new
  9043. paragraph marker.)  Because the `}' was forgotten from the `\xref'
  9044. command, LaTeXnoticed that the paragraph ended before the command was
  9045. complete.
  9046.  
  9047. Unfortunately, LaTeX is not always so helpful, and sometimes you have to
  9048. be truly a Sherlock Holmes to discover what went wrong.  In any case, if
  9049. you run into a problem like this, you can do one of two things.
  9050.  
  9051.   1. 
  9052.      You can tell LaTeX to continue running and to ignore errors as best
  9053.      it can by typing `r RET' at the `?' prompt.
  9054.      
  9055.      This is often the best thing to do.  However, beware: the one error
  9056.      may produce a cascade of additional error messages as its
  9057.      consequences are felt through the rest of the file.  (To stop LaTeX
  9058.      when it is producing such an avalanche of error messages, type
  9059.      `C-c' (or `C-c C-c', if you running a shell inside of Emacs.))
  9060.      
  9061.   2. 
  9062.      You can tell LaTeX to stop this run by typing `x RET' at the `?'
  9063.      prompt.
  9064.  
  9065.  
  9066. Sometimes LaTeX will format a file without producing error messages even
  9067. though there is a problem.  This usually occurs if a command is not
  9068. ended but LaTeX is able to continue processing anyhow.  For example, if
  9069. you fail to end an itemized list with the `\end{itemize}' command, LaTeX
  9070. will write a dvi file that you can print out.  The only error message
  9071. that LaTeX will give you is the somewhat mysterious comment that
  9072.  
  9073.      
  9074.      (\end occurred inside a group at level 1)
  9075.  
  9076.  
  9077. However, if you print the dvi file, you will find that the text of the
  9078. file that follows the itemized list is entirely indented as if it were
  9079. part of the last item in the itemized list.  The error message is the
  9080. way LaTeX says that it expected to find an `\end' command somewhere in
  9081. the file; but that it could not determine where it was needed.
  9082.  
  9083. 
  9084. File: latexinfo2.info  Node: Using latexinfo-show-structure, Prev: Debugging with LaTeX, Up: Catching Formatting Mistakes, Next: Using occur
  9085.  
  9086. Using `latexinfo-show-structure'
  9087. ================================
  9088.  
  9089.  
  9090. It is not always easy to keep track of the nodes, chapters, sections,
  9091. and subsections of a LaTeXinfo file.  This is especially true if you are
  9092. revising or adding to a LaTeXinfo file that someone else has written.
  9093.  
  9094. In GNU Emacs, in LaTeXinfo mode, the `latexinfo-show-structure' command
  9095. lists all the lines that begin with the \-commands that specify the
  9096. structure: `\chapter', `\section', `\chapter', and so on.  With an
  9097. argument (prefix, if interactive), the command also shows the `\node'
  9098. lines.  The `latexinfo-show-structure' command is bound to `C-c C-s' in
  9099. LaTeXinfo mode, by default.
  9100.  
  9101. The lines are displayed in a buffer called the `*Occur*' buffer.  For
  9102. example, when `latexinfo-show-structure' was run on an earlier version
  9103. of this appendix, it produced the following:
  9104.  
  9105.      
  9106.      Lines matching "^\\\(chapter\\|sect\\|sub\\|unnum\\)" in buffer latexinfo.tex.
  9107.        4:\chapter{Catching Formatting Mistakes}
  9108.       52:\section{Catching Errors with Info Formatting}
  9109.      222:\section{Catching Errors with \LaTeX{} Formatting}
  9110.      338:\section{Using \code{latexinfo-show-structure}}
  9111.      407:\subsection{Using \code{occur}}
  9112.      444:\section{Finding Badly Referenced Nodes}
  9113.      513:\subsection{Running \code{Info-validate}}
  9114.      573:\subsection{Splitting a File Manually}
  9115.  
  9116.  
  9117. This says that lines 4, 52, and 222 of `latexinfo.tex' begin with the
  9118. `\chapter', `\section', and `\section' commands respectively.  If you
  9119. move your cursor into the `*Occur*' window, you can position the cursor
  9120. over one of the lines and use the `C-c C-c' command
  9121. (`occur-mode-goto-occurrence'), to jump to the corresponding spot in the
  9122. LaTeXinfo file.  *Note Using Occur: (emacs)Other Repeating Search, for
  9123. more information about `occur-mode-goto-occurrence'.
  9124.  
  9125. ------------------------------------------------------------------------
  9126.      The first line in the `*Occur*' window describes the "regular
  9127.      expression" specified by LATEXINFO-HEADING-PATTERN.  This regular
  9128.      expression is the pattern that `latexinfo-show-structure' looks
  9129.      for.  *Note Using Regular Expressions: (emacs)Regexps, for more
  9130.      information.
  9131.      
  9132.      When you invoke the `latexinfo-show-structure' command, Emacs will
  9133.      display the structure of the whole buffer.  If you want to see the
  9134.      structure of just a part of the buffer, of one chapter, for
  9135.      example, use the `C-x n' (`narrow-to-region') command to mark the
  9136.      region.  (*Note Narrowing: (emacs)Narrowing.)  This is how the
  9137.      example used above was generated.  To see the whole buffer again,
  9138.      use the command `C-x w' (`widen').
  9139.  
  9140. ------------------------------------------------------------------------
  9141.  
  9142. If you call `latexinfo-show-structure' with a prefix argument by typing
  9143. `C-u C-c C-s', it will list lines beginning with `\node' as well as the
  9144. lines beginning with the \-commands for `\chapter', `\section', and the
  9145. like.
  9146.  
  9147. You can remind yourself of the structure of a LaTeXinfo file by looking
  9148. at the list in the `*Occur*' window; and if you have mis-named a node or
  9149. left out a section, you can correct the mistake.
  9150.  
  9151. 
  9152. File: latexinfo2.info  Node: Using occur, Prev: Using latexinfo-show-structure, Up: Catching Formatting Mistakes, Next: Running Info-Validate
  9153.  
  9154. Using `occur'
  9155. =============
  9156.  
  9157.  
  9158. Sometimes the `latexinfo-show-structure' command produces too much
  9159. information.  Perhaps you want to remind yourself of the overall
  9160. structure of a LaTeXinfo file, and are overwhelmed by the detailed list
  9161. produced by `latexinfo-show-structure'.  In this case, you can use the
  9162. `occur' command directly.  To do this, type
  9163.  
  9164.      
  9165.      `M-x occur'
  9166.  
  9167.  
  9168. and then, when prompted, type a "regexp", a regular expression for the
  9169. pattern you want to match.  (*Note Regular Expressions: (emacs)Regexps.)
  9170. The `occur' command works from the current location of the cursor in the
  9171. buffer to the end of the buffer.  If you want to run `occur' on the
  9172. whole buffer, place the cursor at the beginning of the buffer.
  9173.  
  9174. For example, to see all the lines that contain the word `\chapter' in
  9175. them, just type `\\chapter'.  This will produce a list of the chapters.
  9176. It will also list all the sentences with `\chapter' in the middle of the
  9177. line. If you want to see only those lines that start with the word
  9178. `\chapter', type `^\\chapter' when prompted by `occur'.  If you want to
  9179. see all the lines that end with a word or phrase, end the last word with
  9180. a `$'; for example, `Catching Formatting Mistakes$'.  This can be
  9181. helpful when you want to see all the nodes that are part of the same
  9182. chapter or section and therefore have the same `Up' pointer.*Note Using
  9183. Occur: (emacs)Other Repeating Search, for more information.
  9184.  
  9185. 
  9186. File: latexinfo2.info  Node: Running Info-Validate, Prev: Using occur, Up: Catching Formatting Mistakes, Next: Using Info-validate
  9187.  
  9188. Finding Badly Referenced Nodes
  9189. ==============================
  9190.  
  9191.  
  9192. You can use the `Info-validate' command to check whether any of the
  9193. `Next', `Previous', `Up' or other node pointers fail to point to a node.
  9194. This command checks that every node pointer points to an existing node.
  9195. The `Info-validate' command works only on Info files, not on LaTeXinfo
  9196. files.
  9197.  
  9198.  
  9199. * Menu:
  9200.  
  9201. * Using Info-validate::         How to run `Info-validate'.
  9202. * Unsplit::                     How to create an unsplit file.
  9203. * Tagifying::                   How to tagify a file.
  9204. * Splitting::                   How to split a file manually.
  9205.  
  9206.  
  9207. 
  9208. File: latexinfo2.info  Node: Using Info-validate, Prev: Running Info-Validate, Up: Running Info-Validate, Next: Unsplit
  9209.  
  9210. Running `Info-validate'
  9211. -----------------------
  9212.  
  9213.  
  9214. To use `Info-validate', visit the Info file you wish to check and type:
  9215.  
  9216.      
  9217.      M-x Info-validate
  9218.  
  9219.  
  9220. (Note that the `Info-validate' command requires an upper case `I'.  You
  9221. may also need to create a tag table before running `Info-validate'.
  9222. *Note Tagifying::.)
  9223.  
  9224. If your file is valid, you will receive a message that says "File
  9225. appears valid".  However, if you have a pointer that does not point to a
  9226. node, error messages will be displayed in a buffer called `*problems in
  9227. info file*'.
  9228.  
  9229. For example, `Info-validate' was run on a test file that contained only
  9230. the first node of this manual.  One of the messages said:
  9231.  
  9232.      
  9233.      In node "Overview", invalid Next: LaTeXinfo Mode
  9234.  
  9235.  
  9236. This meant that the node called `Overview' had a `Next' pointer that did
  9237. not point to anything (which was true in this case, since the test file
  9238. had only one node in it).
  9239.  
  9240. Now suppose we add a node named `LaTeXinfo Mode' to our test case but we
  9241. don't specify a `Previous' for this node.  Then we will get the
  9242. following error message:
  9243.  
  9244.      
  9245.      In node "LaTexinfo Mode", should have Previous: Overview
  9246.  
  9247.  
  9248. This is because every `Next' pointer should be matched by a `Previous'
  9249. (in the node where the `Next' points) which points back.
  9250. `Info-validate' also checks that all menu items and cross references
  9251. point to actual nodes.
  9252.  
  9253. Note that `Info-validate' requires a tag table and does not work with
  9254. files that have been split.  (The `latexinfo-format-buffer' command
  9255. automatically splits files larger than 100,000 bytes.)  In order to use
  9256. `Info-validate' on a large file, you must run `latexinfo-format-buffer'
  9257. with an argument so that it does not split the Info file; and you must
  9258. create a tag table for the unsplit file.
  9259.  
  9260. 
  9261. File: latexinfo2.info  Node: Unsplit, Prev: Using Info-validate, Up: Running Info-Validate, Next: Tagifying
  9262.  
  9263. Creating an Unsplit File
  9264. ------------------------
  9265.  
  9266.  
  9267. You can run `Info-validate' only on a single Info file that has a tag
  9268. table.  The command will not work on the indirect subfiles that are
  9269. generated when a master file is split.  If you have a large file (longer
  9270. than 70,000 bytes or so), you need to run the `latexinfo-format-buffer'
  9271. command in such a way that it does not create indirect subfiles.  You
  9272. will also need to create a tag table for the Info file.  After you have
  9273. done this, you can run `Info-validate' and look for badly referenced
  9274. nodes.
  9275.  
  9276. The first step is to create an unsplit Info file.  To prevent
  9277. `latexinfo-format-buffer' from splitting a LaTeXinfo file into smaller
  9278. Info files, give a prefix to the `M-x latexinfo-format-buffer' command:
  9279.  
  9280.      
  9281.      C-u  M-x latexinfo-format-buffer
  9282.  
  9283.  
  9284. When you do this, LaTeXinfo will not split the file and will not create
  9285. a tag table for it.
  9286.  
  9287. 
  9288. File: latexinfo2.info  Node: Tagifying, Prev: Unsplit, Up: Running Info-Validate, Next: Splitting
  9289.  
  9290. Tagifying a File
  9291. ----------------
  9292.  
  9293.  
  9294. After creating an unsplit Info file, you must create a tag table for it.
  9295. Visit the Info file you wish to tagify and type:
  9296.  
  9297.      
  9298.      M-x Info-tagify
  9299.  
  9300.  
  9301. (Note the upper case I in `Info-tagify'.)  This creates an Info file
  9302. with a tag table that you can validate.
  9303.  
  9304. The third step is to validate the Info file:
  9305.  
  9306.      
  9307.      M-x Info-validate
  9308.  
  9309.  
  9310. (Note the upper case I in `Info-validate'.)  In brief, the steps are:
  9311.  
  9312.      
  9313.      
  9314.      C-u M-x latexinfo-format-buffer
  9315.      M-x Info-tagify
  9316.      M-x Info-validate
  9317.      
  9318.  
  9319.  
  9320. After you have validated the node structure, you can rerun
  9321. `latexinfo-format-buffer' in the normal way so it will construct a tag
  9322. table and split the file automatically, or you can make the tag table
  9323. and split the file manually.
  9324.  
  9325. 
  9326. File: latexinfo2.info  Node: Splitting, Prev: Tagifying, Up: Running Info-Validate, Next: Extending LaTeXinfo
  9327.  
  9328. Splitting a File Manually
  9329. -------------------------
  9330.  
  9331.  
  9332. You should split a large file or else let the `latexinfo-format-buffer'
  9333. command do it for you automatically.  (Generally you will let one of the
  9334. formatting commands do this job for you.  *Note Creating and Installing
  9335. an Info File::.)
  9336.  
  9337. The split off files are called the indirect subfiles.  Info files are
  9338. split to save memory.  With smaller files, Emacs does not have make such
  9339. a large buffer to hold the information.  If an Info file has more than
  9340. 30 nodes, you should also make a tag table for it. *Note Using
  9341. Info-validate::, for information about creating a tag table.  (Again,
  9342. tag tables are usually created automatically by the formatting command;
  9343. you only need to create a tag table yourself if you are doing the job
  9344. manually.  Most likely, you will do this for a large, unsplit file on
  9345. which you have run `Info-validate'.)
  9346.  
  9347. Visit the file you wish to tagify and split and type the two commands:
  9348.  
  9349.      
  9350.      M-x Info-tagify
  9351.      M-x Info-split
  9352.  
  9353.  
  9354. (Note that the `I' in `Info' is upper case.)
  9355.  
  9356. When you use the `Info-split' command, the buffer is modified into a
  9357. (small) Info file which lists the indirect subfiles.  This file should
  9358. be saved in place of the original visited file.  The indirect subfiles
  9359. are written in the same directory the original file is in, with names
  9360. generated by appending `-' and a number to the original file name.
  9361.  
  9362. The primary file still functions as an Info file, but it contains just
  9363. the tag table and a directory of subfiles.
  9364.  
  9365.  
  9366. 
  9367. File: latexinfo2.info  Node: Extending LaTeXinfo, Prev: Splitting, Up: Top, Next: Optional Style Files
  9368.  
  9369. Extending LaTeXinfo
  9370. *******************
  9371.  
  9372.  
  9373. One of the advantages of LaTeXinfo is that it is easy to add your own
  9374. extensions.  Adding new styles in a standard feature of LaTeX,
  9375. and this makes it easy to modularize your additions by plcing them in
  9376. style files.  There are a large number of publically available style
  9377. files that can be found on the Internet by anonymous ftp, for
  9378. example on `soe.clarkson.edu'.
  9379.  
  9380. In LaTeXinfo, you can similarly make additions to the on-line manual
  9381. generator by making GNU Emacs handlers for your LaTeX extensions.
  9382. This is the Emacs counterpart to the `documentstyle' options.
  9383. LaTeXinfo looks in a specified directory for GNU Elisp code that
  9384. corresponds to each style file, by looking for the file named
  9385. `STYLE-fmt.el'.  If this file is found, then it is loaded
  9386. into the Emacs session when `latexinfo-format-buffer' is called
  9387. (*Note Creating an Info file::).  Look in the `styles' and
  9388. `elisp' directories of the LaTeXinfo distribution for examples of
  9389. this, and in the next section we will show a simple example of how this works.
  9390.  
  9391. * Menu:
  9392.  
  9393. * Optional Style Files::        
  9394. * LaTeXinfo support for European languages::  
  9395. * Writing Your Own Style Files::  
  9396.  
  9397.  
  9398. 
  9399. File: latexinfo2.info  Node: Optional Style Files, Prev: Extending LaTeXinfo, Up: Extending LaTeXinfo, Next: The fvpindex Style
  9400.  
  9401. Optional Style Files
  9402. ====================
  9403.  
  9404.  
  9405. LaTeX provides a number of optional style files by default.  These
  9406. include `latexinfo, 11pt, 12pt, twoside' and `titlepage'.  If
  9407. any of the optional styles is a member of the Emacs variable
  9408. `latexinfo-known-document-styles', then LaTeXinfo does not bother
  9409. to look for the associated `-fmt' file.  By default this list is:
  9410.      
  9411.      '(latexinfo 11pt 12pt twoside titlepage A4 a4 dina4 psfonts format))
  9412.  
  9413.  
  9414. * Menu:
  9415.  
  9416. * The fvpindex Style::          
  9417. * Clisp Style::                 
  9418.  
  9419.  
  9420.  
  9421. 
  9422. File: latexinfo2.info  Node: The fvpindex Style, Prev: Optional Style Files, Up: Optional Style Files, Next: Clisp Style
  9423.  
  9424. The fvpindex Style
  9425. ------------------
  9426.  
  9427.  
  9428. fvpindex Style
  9429. --------------
  9430.  
  9431.  
  9432.  
  9433. Let's say that you wanted to develop a special style for a program,
  9434. which defined the command `\f' to be used for specifying
  9435. functions.  This command would put its argument in the function index,
  9436. and set the function in the printed manual in a special font.  The
  9437. LaTeX commands to do this are quite simple.  Firstly, define the
  9438. `\f' command, to put its argument in the `fn' index, and
  9439. set its argument in `sf' font.
  9440.  
  9441. \def\f#1{\findex{#1}{\sf #1}}
  9442.  
  9443. But what about the Info file?  As it stands, the command `\f'
  9444. is not defined in LaTeXinfo, so when you formatted the buffer it would
  9445. ignore all the `\f' commands, and their arguments.  You need
  9446. to introduce the appropriate Emacs lisp code to provide the definition
  9447. of the command that you have added.  For each option in the
  9448. `documentstyle' command, LaTeXinfo looks to see if the file name
  9449. OPTION`-fmt.el' exists in the directory defined by the Emacs
  9450. variable `latexinfo-formats-directory'.  (This variable defaults to
  9451. the value of the environment variable `LATEXINFO', or if that has not
  9452. been defined, then the current directory). If it does exist, then it loads
  9453. this file.  So continuing with our example, if the file
  9454. `fvpindex-fmt.el' contained the code
  9455.  
  9456.      
  9457.      (put 'f 'latexinfo-format 'latexinfo-format-code)
  9458.  
  9459.  
  9460. then it would define the `\f' command to treat its argument
  9461. the same way that the `\code' command does.
  9462.  
  9463. After the OPTION`-fmt.el' has been loaded, LaTeXinfo checks
  9464. to see if a function (of no arguments) called OPTION`-fmt-hook'
  9465. has been defined.  If so, this function is called.  This allows you to
  9466. define functions in the OPTION`-fmt.el' file that operate
  9467. on the whole LaTeXinfo file.
  9468.  
  9469. You can use the `\documentstyle' optional called
  9470. `fvpindex' that loaded the style `fvpindex.sty', which contains
  9471. these definitions, and similar definitions for `\v' and
  9472. `\p'.  Include `fvpindex' in the list of options to the
  9473. `documentstyle' command, *after* the `latexinfo' option.
  9474. Your LaTeXinfo file would begin with something like:
  9475.  
  9476. \documentstyle[12pt,latexinfo,fvpindex]{book}
  9477.  
  9478. This provides a convenient way of documenting all functions, variables
  9479. ans packages of a program, and having their names automatically entered
  9480. in the appropriate index, and set in the font of your choice.
  9481. Additionally, if you are using `fvpindex' in conjunction with the 
  9482. `elisp' or `clisp' styles, you will find that the `\defun' commands put their index entries in in index in bold type,
  9483. whereas the definitions for `\f', `\v' and
  9484. `\p' set their entries in normal type.  This allows you to
  9485. distinguish where the function was defined, and where it was simply
  9486. referenced.
  9487.  
  9488. 
  9489. File: latexinfo2.info  Node: Clisp Style, Prev: The fvpindex Style, Up: Optional Style Files, Next: LaTeXinfo support for European languages
  9490.  
  9491. Clisp Style
  9492. -----------
  9493.  
  9494.  
  9495. A more modern approach to the Lisp `back defun' commands can be
  9496. found in the style `clisp'.  The format of the commands is similar
  9497. to that found in the earlier chapter on Definition Commands
  9498. (*Note Definition Commands::).  This style is still evolving, and may have
  9499. new features of changes in the next release of LaTeXinfo.  The 
  9500. commands of this style are summarized below.
  9501.  
  9502. ------------------------------------------------------------------------
  9503. Command Name      Language        Class 
  9504. ------------------------------------------------------------------------
  9505. deffn             Lisp            general functions             
  9506. deffun            Lisp            functions                     
  9507. defspec           Lisp            special forms                 
  9508. defmac            Lisp            macros                        
  9509. defvr             Lisp            general variables             
  9510. defvar            Lisp            variables                     
  9511. defconst          Lisp            constants                     
  9512. ------------------------------------------------------------------------
  9513.  
  9514.                 Table 4 : The Clisp Definition Commands
  9515.  
  9516.  
  9517. The principal differences between this style and the `elisp'
  9518. style are the following:
  9519.    * An optional parameter can be defined after the name of the command,
  9520.      that is used to indicate the package to which the entity belongs.  Insert
  9521.      this optional argument in the traditional LaTeX style of using square
  9522.      brackets.
  9523.    * The function arguments can contain the keywords
  9524.      `\&optional', `\&rest', and `\&key'.
  9525.    * The function arguments can contain the functions
  9526.      `\keys{...}' and `\morekeys{...}' to properly
  9527.      align the keyword arguments of a function.
  9528.    * The variable and function index entries are coerced to lower case.
  9529.    * The commands `\true', `\false', `\empty'
  9530.      and `\nil' are defined to print as , , and  respectively.
  9531.  
  9532.  
  9533. \DEFUN{NAME}[PACKAGE]{ARGUMENTS...}
  9534.  
  9535. The `\defun' command is the definition command for functions.
  9536. `\defun' is equivalent to `\deffn{Function}
  9537. ...'.  The package argument is optional, and the square brackets are
  9538. omitted if no package is provided.  Within the argument list, the
  9539. following keywords are recognized: `\&optional', `\&rest', and `\&key'.  They print as themselves in the
  9540. `\code' font.
  9541.  
  9542. The argument names on the `\defun' line do not automatically
  9543. appear in italics in the printed manual; they should be enclosed in
  9544. `\var'.  Terminate the definition with `\enddefun'
  9545. on a line of its own.
  9546.  
  9547. Within the argument list, the following commands are recognized:
  9548. `\args{}'     
  9549.          which does nothing.
  9550. `\keys{...}'     
  9551.          prints the word `&key',
  9552.      and sets the tab stop to be align subsequent keys.
  9553. `\morekeys{...}'     
  9554.      
  9555.      starts a new line and
  9556.      moves to the tab stop set by `\keys'.
  9557.      
  9558. `\yetmorekeys{...}'     
  9559.      
  9560.      
  9561.      the same as
  9562.      `\morekeys'.
  9563.  
  9564.  
  9565.      The arguments to these functions are set with a LaTeX minpage environment.
  9566.      This means that new lines within the argument list will start new lines
  9567.      in the region between the function name and the function type.  Furthermore, 
  9568.      the arguments are contained within a `tabbing' environment, that allows
  9569.      the use of the `\=' and `\>' tab--set and tab commands.
  9570.      This allows one to line up parts of the argument list, such as keys, and
  9571.      the `\*keys' commands are implemented in terms of these.
  9572.  
  9573.  
  9574. \DEFMAC{NAME}[PACKAGE]{ARGUMENTS...}
  9575.  
  9576. The `\defmac' command is the definition command for macros.
  9577. `\defmac' is equivalent to `\deffn{Macro}
  9578. ...'.  The package argument is optional, and the square brackets are
  9579. omitted if no package is provided.  Within the argument list, the
  9580. following commands are recognized: `\&optional', `\&rest', and `\&key'.  They print as themselves in the
  9581. `\code' font.   `\defspec' is similarly defined
  9582. for special forms.
  9583.  
  9584. Within the `\defun' and `\defmac' argument lists, the
  9585. following special functions are recognized:
  9586. mopt     
  9587.           To indicate {optional forms}.
  9588. mchoice     
  9589.        To indicate {a choice of forms}.
  9590. mstar     
  9591.          To indicate 0 or more {optional forms}.
  9592. mplus     
  9593.          To indicate 1 or more {forms}.
  9594. mgroup     
  9595.         To indicate a group of {forms}.
  9596. mor     
  9597.            To indicate an or between  forms.
  9598. mind     
  9599.           To indicate an {form}.
  9600.  
  9601.  
  9602. For more information on this syntax, see [Steele1990].
  9603.  
  9604. \DEFVAR{NAME}[PACKAGE]
  9605. The `\defvar' command is the definition command for variables.
  9606. `\defvar' is equivalent to `\deffn{Variable}'.
  9607. `\defconst' is similarly defined for constants.
  9608.  
  9609.  
  9610.  
  9611.  
  9612.  
  9613.  
  9614.  
  9615.  
  9616.  
  9617. In addition to these commands, there are the corresponding "head-less"
  9618. commands: `\deffnx', `\deffunx', `\defspecx', `\defmacx', `\defvrx', `\defvarx', `\defconstx', which are defined identically to
  9619. the corresponding commands expect that no extra space is put before
  9620. the command heading.  You can use these on the second or more of a 
  9621. section that describes a number of definitions.
  9622.  
  9623. 
  9624. File: latexinfo2.info  Node: LaTeXinfo support for European languages, Prev: Clisp Style, Up: Extending LaTeXinfo, Next: LaTeXinfo support for European languages
  9625.  
  9626. LaTeXinfo support for European languages
  9627. ========================================
  9628.  
  9629.  
  9630. LaTeXinfo tries to support  European languages, but it is an area
  9631. that is in great flux right now.  `german.sty' is supported as
  9632. an optional file, and this will also provide some support for French.
  9633.  
  9634. The following diacrtical marks are supported by default in LaTeXinfo,
  9635. either in the form `\LETTER' or `\{LETTER}'
  9636.  
  9637. `\^'     
  9638.         Circumflex accent: c.
  9639. `\`'     
  9640.         Accute accent: e.
  9641. `\''     
  9642.         Grave accent: e.
  9643. `\"'     
  9644.         Tremat: o.
  9645.  
  9646. In the Info file, these marks are removed.
  9647.  
  9648. But note that by default, the commands `\c', `\b'
  9649. `\i' are used for other purposes than their LaTeX usage
  9650. as diacritical marks.
  9651.  
  9652. The hyphenation character `\-' is also supported.
  9653.  
  9654. To support Multi-lingual TeX, `latexinfo.sty' looks for the presence
  9655. of the LaTeX number `\language', which are assumed to be defined
  9656. as follows:
  9657.  
  9658. \newcount\USenglish  \global\USenglish=0
  9659. \newcount\german     \global\german=1
  9660. \newcount\austrian   \global\austrian=2
  9661. \newcount\french     \global\french=3
  9662. \newcount\english    \global\english=4
  9663.  
  9664. The presence of `\language' set to any of `\english'
  9665. `\english', `\french' or `\german' changes
  9666. the way the cross-references are printed in LaTeX.
  9667. The default is `\english'.
  9668.  
  9669.  
  9670. german.sty
  9671. ----------
  9672.  
  9673.  
  9674. LaTeXinfo has support for the file `german.sty', as of
  9675. Vers. 2.3, 7 Aug 1990, collected by H. Partl (TU Wien), using ideas 
  9676.  
  9677. by W. Appelt, F.  Hommes et al. (GMD St.Augustin), T. Hofmann
  9678. (CIBA-GEIGY Basel), N.  Schwarz (Uni Bochum), J. Schrod (TH Darmstadt),
  9679. D. Armbruster (Uni Stuttgart), R.  Schoepf (Uni Mainz), and others. It
  9680. is a document style option for writing german texts with TeX or
  9681. LaTeX.  It can be called via adding the `german' option to the
  9682. `\documentstyle' command.
  9683.  
  9684.      User's should resort to their already-installed version of `german.sty'
  9685.      (if any) before using the one from LaTeXinfo, so the existing LaTeX 
  9686.      site documentation won't break.  Various copies of this file exist from
  9687.      different eras; you may wish to inquire if one is already installed at
  9688.      your site, and look to see if it is more or less recent than the one
  9689.      distributed with LaTeXinfo.
  9690.  
  9691.  
  9692. To support Multi-lingual TeX, `latexinfo.sty' looks for the presence
  9693. of the LaTeX number `\language', and if it is set to 
  9694. `\german', it sets the cross-references in German, and
  9695. looks to see if `\mdqon' is defined.  If so, it lets double quotes
  9696. have their special meaning, and otherwise sets them as double quotes in
  9697. typewriter font.
  9698.  
  9699.      This file conforms to the standard for Einheitliche deutsche TeX-Befehle
  9700.      as proposed at the 6th Meeting of German TeX Users in Muenster, October 1987.
  9701.  
  9702.  
  9703.  
  9704. Commands to be used by the end users
  9705. ....................................
  9706.  
  9707.  
  9708.      
  9709. "a     
  9710.      
  9711.          for Umlaut-a (like a), also for all other vowels.
  9712.      
  9713. "s     
  9714.      
  9715.          for sharp s  (like `\ss'{}).
  9716.      
  9717. "ck     
  9718.      
  9719.          for ck to be hyphenated as k-k.
  9720.      
  9721. "ff     
  9722.      
  9723.          for ff to be hyphenated as ff-f, also for certain
  9724.                         other consonants.
  9725.      
  9726. "|     
  9727.      
  9728.          to separate ligatures.
  9729.      
  9730. "-     
  9731.      
  9732.          like , but allowing hyphenation in the rest of
  9733.                         the word.
  9734.      
  9735. ""     
  9736.      
  9737.          like "-, but producing no hyphen sign.
  9738.      
  9739. "` or `\glqq'     
  9740.      
  9741.          for german left  double quotes  (similar to ,,)
  9742.      
  9743. "' or `\grqq'     
  9744.      
  9745.          for german right double quotes  (similar to ")
  9746.      
  9747. `\glq'     
  9748.      
  9749.          for german left  single quotes  (similar to , )
  9750.      
  9751. `\grq'     
  9752.      
  9753.          for german right single quotes  (similar to ` )
  9754.      
  9755. "< or `\flqq'     
  9756.      
  9757.          for french left  double quotes  (similar to <<)
  9758.      
  9759. "> or `\frqq'     
  9760.      
  9761.          for french right double quotes  (similar to >>)
  9762.      
  9763. `\flq'     
  9764.      
  9765.          for french left  single quotes  (similar to < )
  9766.      
  9767. `\frq'     
  9768.      
  9769.          for french right single quotes  (similar to > )
  9770.      
  9771. `\dq'     
  9772.      
  9773.          for the original quotes character (")
  9774.      
  9775. `\setlanguage'{n}     
  9776.      
  9777.          to switch to the language specified by n, which should be one of the
  9778.      following command names:
  9779.      
  9780. \code{\back austrian} \code{\back french} \code{\back english}`\german' `\USenglish'
  9781.           
  9782.       this changes the date
  9783.      format, captions and (if "multilingual TeX"is installed) hyphenation.
  9784.      
  9785. `\originalTeX'     
  9786.       to restore everything to the original
  9787.      settings of TeX and LaTeX (well, almost everything).
  9788.      
  9789. `\germanTeX'     
  9790.       to re-activate the german settings.
  9791.  
  9792.  
  9793. * Menu:
  9794.  
  9795. * Obsolete Commands::           
  9796. * Lower Level Commands and Features::  
  9797.  
  9798.  
  9799. 
  9800. File: latexinfo2.info  Node: Obsolete Commands, Prev: LaTeXinfo support for European languages, Up: LaTeXinfo support for European languages, Next: Lower Level Commands and Features
  9801.  
  9802. Obsolete Commands
  9803. .................
  9804.  
  9805.  
  9806. Obsolete commands, provided for compatibility with existing applications:
  9807.  
  9808.      
  9809. \3     
  9810.      
  9811.          for sharp s (like "s).
  9812. `\ck'     
  9813.      
  9814.          for ck to be hyphenated as k-k (like "ck).
  9815.  
  9816.  
  9817. 
  9818. File: latexinfo2.info  Node: Lower Level Commands and Features, Prev: Obsolete Commands, Up: LaTeXinfo support for European languages, Next: Writing Your Own Style Files
  9819.  
  9820. Lower Level Commands and Features
  9821. .................................
  9822.  
  9823.  
  9824. `\umlautlow'     
  9825.      
  9826.          redefines the Umlaut accent such that the dots come nearer to the
  9827.      letter and that hyphenation is enabled in the rest of the word.
  9828.      
  9829. `\umlauthigh'     
  9830.      
  9831.          restores  to its original meaning.
  9832.      
  9833. `\ss'     
  9834.      
  9835.          is `\lccode''d to enable hyphenation.
  9836.      
  9837. `\mdqon'     
  9838.      
  9839.          makes " an active (meta-) character that does the pretty things
  9840.      described above.
  9841.      
  9842. `\mdqoff'     
  9843.      
  9844.                 restores " to its original meaning.
  9845.      
  9846. `\dospecials',      
  9847.          are redefined to include ".
  9848.      
  9849. `\dateaustrian', `\dategerman', `\dateenglish', `\dateUSenglish', `\datefrench'     
  9850.      
  9851.                        redefine `\today' to use the respective date
  9852.      format.
  9853.      
  9854. \code{\back captionsgerman}, \code{\back captionsenglish},`\captionsfrench'
  9855.           
  9856.       
  9857.      switch to german, english or french chapter captions and the like, resp.
  9858.      This will have an effect only if the document style files use the
  9859.      symbolic names `\chaptername' etc. instead of the original
  9860.      english words.
  9861.      
  9862. `\language'     
  9863.      
  9864.          a count that is set by `\setlanguage' and can be used
  9865.                        by document style declarations like
  9866.      \ifnum\language=\english .textengl.\else
  9867.      \ifnum\language=\german  .textgerm.\fi\fi
  9868.      and/or by M.Ferguson's "Multilingual TeX".
  9869.  
  9870.  
  9871. Finally, `\germanTeX' is switched on.
  9872.  
  9873. This file can be used both with Plain TeX and with LaTeX and other macro
  9874. packages, and with the original TeX and LaTeX fonts. Usage of german
  9875. hyphenation patterns is recommended to accompany this style file when
  9876. writing german texts.
  9877.  
  9878. The file should be read in vertical mode only (usually at the
  9879. beginning of the document) to avoid spurious spaces.
  9880. `\undefined' must be an undefined control sequence.
  9881.  
  9882. Multiple calls of this file (e.g. at the beginning of each subfile) will do
  9883. no harm. Only the first call (i.e., if `\mdqon' is undefined)
  9884. performs all the definitions and settings.
  9885.  
  9886. The catcode of @ remains unchanged after processing of this file.
  9887. All definitions are global, the switching on of the german options
  9888. is local.
  9889.  
  9890. The commands `\mdqon', `\mdqoff', `\originalTeX', `\germanTeX', and `\setlanguage' are
  9891. "fragile" with LaTeX and should not be used within arguments of macro
  9892. calls.
  9893.  
  9894. In Plain TeX, ``\protect'' should be `\let' to
  9895. ``\relax'' normally and to something like ``\string''
  9896. inside the arguments of ``\write'' or ``\message'' (see
  9897. LaTeX.TEX for all the details).
  9898.  
  9899. The command `\umlautlow' may need adaption to font parameters (see
  9900. comments there for details).
  9901.  
  9902. The commands `\flqq', `\frqq', `\flq',
  9903. `\frq', and `\datefrench' in their present forms do not
  9904. work properly with all font sizes and styles, they still require a better
  9905. solution.
  9906.  
  9907. 
  9908. File: latexinfo2.info  Node: Writing Your Own Style Files, Prev: Lower Level Commands and Features, Up: Extending LaTeXinfo, Next: Installing LaTeXinfo
  9909.  
  9910. Writing Your Own Style Files
  9911. ============================
  9912.  
  9913.  
  9914. <to be written>
  9915.  
  9916.  
  9917. 
  9918. File: latexinfo2.info  Node: Installing LaTeXinfo, Prev: Writing Your Own Style Files, Up: Top, Next: Compiling LaTeXinfo
  9919.  
  9920. Installing LaTeXinfo
  9921. ********************
  9922.  
  9923.  
  9924. * Menu:
  9925.  
  9926. * Compiling LaTeXinfo::         
  9927. * Installing the LaTeXinfo Distribution::  
  9928.  
  9929.  
  9930. 
  9931. File: latexinfo2.info  Node: Compiling LaTeXinfo, Prev: Installing LaTeXinfo, Up: Installing LaTeXinfo, Next: Installing the LaTeXinfo Distribution
  9932.  
  9933. Compiling LaTeXinfo
  9934. ===================
  9935.  
  9936.  
  9937. To compile LaTeXinfo:
  9938.      
  9939.   1. Run the shell script `configure'.  You will be 
  9940.      asked to provide the following:
  9941.      
  9942.      BINDIR     
  9943.           
  9944.           Where to install the executables.
  9945.           
  9946.      INFODIR     
  9947.           
  9948.           Where to install the info files.
  9949.           
  9950.      EMACS     
  9951.           
  9952.           the name of your GNU Emacs.
  9953.      
  9954.      
  9955.      These must exists, and you must be able to write to these directories.
  9956.      For example,
  9957.      
  9958.           
  9959.           Where would you like to install the binaries?
  9960.           
  9961.             Please type the full path to your binaries directory:
  9962.             >/usr5/gnu/bin-sparc
  9963.           
  9964.             The binaries path was verfied to be [/usr5/gnu/bin-sparc]
  9965.           
  9966.           Where are the Gnu Info files located?
  9967.           
  9968.             Please type the full path to your info directory:
  9969.             >/usr5/gnu/info 
  9970.           
  9971.             The Info directory was verfied to be [/usr5/gnu/info]
  9972.           
  9973.           Where is your GNU Emacs command:
  9974.           
  9975.             Please type the name of your GNU Emacs command:
  9976.             >xemacs
  9977.      
  9978.      
  9979.   2. Then you will be asked:
  9980.      
  9981.           
  9982.           Would you like to install the elisp and LaTeX files elsewhere,
  9983.           or leave them here, and set an environment variable to point to here?
  9984.           
  9985.           Set an environment variable to point to here [y/n]? 
  9986.      
  9987.      
  9988.      If you choose
  9989.      y     
  9990.                   `configure' will set the environment variable
  9991.           `LATEXINFO' in the `.login' to point to this directory,
  9992.           and you won't need to `make install'.
  9993.           
  9994.      n     
  9995.                   You will be asked about:
  9996.           
  9997.           ELISPDIR     
  9998.                
  9999.                Where to install the compiled Elisp code.
  10000.                
  10001.           TEXDIR     
  10002.                
  10003.                Where to install the style files.
  10004.           
  10005.           
  10006.           For example,
  10007.           
  10008.                
  10009.                Set an environment variable to point to here [y/n]? n
  10010.                
  10011.                Where would you like to install GNU Emacs code (elisp)?
  10012.                
  10013.                  Please type the full path to your elisp directory:
  10014.                  >/usr5/gnu/lib/emacs/latexinfo  
  10015.                
  10016.                  The elisp path was verfied to be [/usr5/gnu/lib/emacs/latexinfo]
  10017.                
  10018.                Where would you like to install the LaTeX style files?
  10019.                
  10020.                  Please type the full path to your LaTeX style directory:
  10021.                  >/usr5/gnu/lib/tex
  10022.                
  10023.                  The  LaTeX style path was verfied to be [/usr5/gnu/lib/tex]
  10024.           
  10025.      
  10026.      
  10027.   3. Type `make'.
  10028.      This will make the executables `latexindex', `info',
  10029.      make the manual, and compile the `.el' files.  It will also make
  10030.      the files `.emacs' and `.login'.
  10031.      
  10032.  
  10033.  
  10034. You may also have to change the definitions of your LaTeX commands in the
  10035. shell script `manual/latex2dvi' is you are unusual.
  10036.  
  10037. 
  10038. File: latexinfo2.info  Node: Installing the LaTeXinfo Distribution, Prev: Compiling LaTeXinfo, Up: Installing LaTeXinfo, Next: Installing the Style Files
  10039.  
  10040. Installing the LaTeXinfo Distribution
  10041. =====================================
  10042.  
  10043.  
  10044.   1. 
  10045.      If you chose to install the elisp and LaTeX files elsewhere,
  10046.      type `make install' to make the executables,
  10047.      the manual and compile the `.el' files. This will
  10048.      
  10049.      `make install.C'     
  10050.           
  10051.           which will move the executables to `BINDIR'.
  10052.           
  10053.      `make install.manual'     
  10054.           
  10055.           which will move a copy of the files `manual/latexinfo.info*' to the
  10056.           info directory of the GNU Emacs distribution specified by
  10057.           `INFODIR', and a copy of the sample file to the LaTeX styles
  10058.           directory specified by `TEXDIR'.
  10059.           
  10060.      `make install.elisp'     
  10061.           
  10062.           which will move a copy of the files `styles/*.elc' to the
  10063.           the GNU Emacs lisp directory specified by `ELISPDIR'.
  10064.           
  10065.      `make install.styles'     
  10066.           
  10067.           which will move a copy of the files `styles/*.sty' to the
  10068.           the LaTeX styles directory specified by `TEXDIR'.
  10069.      
  10070.      
  10071.   2. Edit the `dir' file in `INFO' directory to include lines like
  10072.      
  10073.      * LaTeXinfo: (latexinfo2.info).   With one source file, make either a 
  10074.                              manual using LaTeX or an Info file.
  10075.      
  10076.   3. 
  10077.      Include a copy of the `.emacs' file in your `~/.emacs'.
  10078.      
  10079.   4. 
  10080.      Include a copy of the `.login' file in your `~/.login'.
  10081.      
  10082.   5. Print a copy of the `manual/latexinfo.dvi' file and
  10083.      enjoy.
  10084.  
  10085.  
  10086. *Note Installing an Info File::, for more information on installing an
  10087. info file. *Note Installing the Style Files::, for more information on
  10088. installing style files.
  10089.  
  10090.  
  10091. * Menu:
  10092.  
  10093. * Installing the Style Files::  
  10094.  
  10095.  
  10096. 
  10097. File: latexinfo2.info  Node: Installing the Style Files, Prev: Installing the LaTeXinfo Distribution, Up: Installing the LaTeXinfo Distribution, Next: Converting Files to LaTeXinfo
  10098.  
  10099. Installing the Style Files
  10100. --------------------------
  10101.  
  10102.  
  10103. Usually, the `latexinfo.sty' file is put in the default directory that
  10104. contains LaTeX macros, something like the directory
  10105. `/usr/local/lib/tex/inputs', which is created when LaTeX is installed.
  10106. In this case, LaTeX will find the file and you don't have to do anything
  10107. special.  Alternatively, you can put `latexinfo.sty' in the directory in
  10108. which each LaTeXinfo source file is located, and LaTeX will find it
  10109. there.
  10110.  
  10111. However, you may want to specify the location of the `\input' file
  10112. yourself. One way is to set the `TEXINPUTS' environment variable in your
  10113. `.login' or `.profile' file.  The `TEXINPUTS' environment variable will
  10114. tell LaTeX where to find the `latexinfo.sty' file and any other file
  10115. that you might want LaTeX to use.  This is done by the `.login' file
  10116. supplied with the LaTeXinfo distribution.
  10117.  
  10118. Whether you use a `.login' or `.profile' file depends on whether you use
  10119. `csh', `sh', or `bash' for your shell command interpreter.  When you use
  10120. `csh', it looks to the `.login' file for initialization information, and
  10121. when you use `sh' or `bash', it looks to the `.profile' file.
  10122.  
  10123. In a `.login' file, you could use the following `csh' command sequence:
  10124.  
  10125. setenv LATEXINFO /usr/me/mylib
  10126. # Add the format files to the list of directories that LaTeX searches.
  10127. if ( $?TEXINPUTS ) then
  10128.         setenv TEXINPUTS "$TEXINPUTS"':'"$LATEXINFO"
  10129.   else
  10130.         setenv TEXINPUTS "$LATEXINFO"
  10131. endif
  10132.  
  10133. In a `.profile' file, you could use the following `sh' command
  10134. sequence:
  10135.  
  10136.      
  10137.      TEXINPUTS=.:/usr/me/mylib:/usr/lib/tex/macros
  10138.      export TEXINPUTS
  10139.  
  10140.  
  10141. This would cause LaTeX to look for the style file first in the current
  10142. directory, indicated by the `.', then in a hypothetical user's
  10143. `me/mylib' directory, and finally in the system library.
  10144.  
  10145. 
  10146. File: latexinfo2.info  Node: Converting Files to LaTeXinfo, Prev: Installing the Style Files, Up: Top, Next: Converting LaTeX Files to LaTeXinfo
  10147.  
  10148. Converting Files to LaTeXinfo
  10149. *****************************
  10150.  
  10151.  
  10152. * Menu:
  10153.  
  10154. * Converting LaTeX Files to LaTeXinfo::  
  10155. * Converting TeXinfo Files into LaTeXinfo Files::  
  10156. * Converting Scribe Files to LaTeXinfo::  
  10157.  
  10158.  
  10159. 
  10160. File: latexinfo2.info  Node: Converting LaTeX Files to LaTeXinfo, Prev: Converting Files to LaTeXinfo, Up: Converting Files to LaTeXinfo, Next: l2latexinfo.el
  10161.  
  10162. Converting LaTeX Files to LaTeXinfo
  10163. ===================================
  10164.  
  10165.  
  10166. LaTeXinfo files are essentially a special style  of standard LaTeX files.
  10167. To make a standard LaTeX file into a LaTeXinfo file, you must begin it with
  10168. the lines
  10169.  
  10170. \documentstyle[12pt,latexinfo]{book}
  10171. \pagestyle{headings}
  10172.  
  10173. \begin{document}
  10174.  
  10175. \setfilename{latexinfo.info}
  10176.  
  10177. *Note A Short Sample LaTeXinfo File::, for details of how a LaTeXinfo
  10178. file begins.  Once you have added these lines, you will have a document
  10179. that will pass both LaTeX, and Info formating program, but it will be a
  10180. document with any node structure, so it will be in essence one large
  10181. node.  (*Note Nodes and Menus:: for more information on nodes.)
  10182.  
  10183. This is not very useful for the people who read the document under the
  10184. info program.  To add nodes and menus to the document, you can do it by
  10185. hand, or you can use the function `latexinfo-insert-node-lines' (*Note
  10186. Other Updating Commands::.)  Alternatively, use the `l2latexinfo.el'
  10187. file provided with LaTeXinfo, which does this, and makes a number of
  10188. other conversions as well.  *Note l2latexinfo.el::.
  10189.  
  10190. If you want to use LaTeX commands for which there is no LaTeXinfo
  10191. support of any kind, you can always wrap them in a `tex' environment:
  10192.  
  10193. \begin{tex}
  10194. ...
  10195. \end{tex}
  10196.  
  10197. This ensures that this part will be ignored by the Info processor, and
  10198. that all special characters will be processed according to the normal
  10199. LaTeX definitions.
  10200.  
  10201. The following LaTeX commands are also supported by the Info formatter,
  10202. although they might not do everything in Info that they do in LaTeX.
  10203.  
  10204. \LaTeX
  10205. \S
  10206. \arrow
  10207. \geq
  10208. \hfill
  10209. \label
  10210. \leq
  10211. \newblock
  10212. \newpage
  10213. \onecolumn
  10214. \pi
  10215. \pm
  10216. \protect
  10217. \qquad
  10218. \quad
  10219. \ss
  10220. \thebibliography
  10221. \thispagestyle
  10222. \tie
  10223. \twocolumn
  10224. \vspace
  10225. \vspace*
  10226.  
  10227. * Menu:
  10228.  
  10229. * l2latexinfo.el::              
  10230.  
  10231.  
  10232. 
  10233. File: latexinfo2.info  Node: l2latexinfo.el, Prev: Converting LaTeX Files to LaTeXinfo, Up: Converting LaTeX Files to LaTeXinfo, Next: Converting TeXinfo Files into LaTeXinfo Files
  10234.  
  10235. l2latexinfo.el
  10236. --------------
  10237.  
  10238.  
  10239. With the LaTeXinfo distribution is a file called `l2latexinfo.el',
  10240. which helps convert a LaTeX file to a LaTeXinfo file.  Although it is
  10241. not a perfectly automatic conversion, it will convert most of a file to
  10242. LaTeXinfo.  To convert a LaTeX  File into an LaTeXInfo file, just
  10243. visit a LaTeXfile in GNU Emacs and invoke
  10244.  
  10245.      
  10246.      `Meta-x latex-to-latexinfo'
  10247.  
  10248.  
  10249. to convert it to a LaTeXInfo file.  Then search through the buffer to
  10250. see if there are any command that were not converted. 
  10251.  
  10252. When you run `latex-to-latexinfo', you will be asked
  10253.      
  10254.      Would you like to do the \input files now, to do it all at once?
  10255.  
  10256. If you say `yes', all the `\input' files will be included, so
  10257. you can do all of the subfiles at the same time.
  10258.  
  10259. Remember that the characters `& ^ % $ #' are not special in
  10260. LaTeXinfo.  There is no support for any of the mathematics commands.
  10261. Braces that are not required for LaTeXinfo commands will appear in
  10262. the Info file.
  10263.  
  10264. 
  10265. File: latexinfo2.info  Node: Converting TeXinfo Files into LaTeXinfo Files, Prev: l2latexinfo.el, Up: Converting Files to LaTeXinfo, Next: Differences from TeXinfo
  10266.  
  10267. Converting TeXinfo Files into LaTeXinfo Files
  10268. =============================================
  10269.  
  10270.  
  10271. Documentation for GNU utilities and libraries is usually written in a
  10272. format called "TeXinfo".  Perhaps the most significant difference
  10273. of LaTeXinfo from TeXinfo is that if a LaTeX command is found that
  10274. the Info formatter does not know about, an error is not signalled, and
  10275. processing simply continues.  This means that as long as you don't mind
  10276. having the commands ignored in the Info file, you can use any LaTeX command.
  10277.  
  10278. * Menu:
  10279.  
  10280. * Differences from TeXinfo::    
  10281.  
  10282.  
  10283. 
  10284. File: latexinfo2.info  Node: Differences from TeXinfo, Prev: Converting TeXinfo Files into LaTeXinfo Files, Up: Converting TeXinfo Files into LaTeXinfo Files, Next: Differences from TeXinfo
  10285.  
  10286. Differences from TeXinfo
  10287. ------------------------
  10288.  
  10289.  
  10290. The following TeXinfo commands have been deleted:
  10291.  
  10292. @asis                   Not needed.
  10293. @defindex               Not needed (how many more indexes do you want??)
  10294. @dmn                    Not needed.
  10295. @ftable                 Not needed.
  10296. @itemx                  Not needed.
  10297. @setchapternewpage      Use documentstyle type and options instead.
  10298. @subtitle               You are free to use fonts in \title command.
  10299. @summarycontents        Controlled by LaTeX parameter \setcounter{tocdepth}
  10300. @titlefont              Not needed.
  10301.  
  10302. The following commands have been replaced by their LaTeX equivalents:
  10303.  
  10304. \appendixsec            replaced by \section
  10305. \appendixsubsec         replaced by \subsection
  10306. \appendixsubsubsec      replaced by \subsubsection
  10307. \bye                    replaced by \end{document}
  10308. \center                 replaced by \begin{center} .. \end{center}
  10309. \chapheading            replaced by \chapter*
  10310. \contents               replaced by \tableofcontents
  10311. \group                  replaced by \begin{same}
  10312. \heading                replaced by \section*
  10313. \headings               replaced by \pagestyle
  10314. \majorheading           replaced by \chapter*
  10315. \page                   replaced by \clearpage
  10316. \sc                     replaced by \scap
  10317. \settitle               replaced by \title
  10318. \heading                replaced by \section*
  10319. \subheading             replaced by \subsection*
  10320. \subsubheading          replaced by \subsubsection*
  10321. \table                  replaced by \begin{description}
  10322. \titlepage              replaced by \maketitle
  10323. \vskip                  replaced by \vspace
  10324.  
  10325.  
  10326. The following commands have been changed to their LaTeX definitions:
  10327.  
  10328.  \appendix
  10329.  \author
  10330.  \center
  10331.  \chapter
  10332.  \date
  10333.  \section
  10334.  \subsection
  10335.  \subsubsection
  10336.  \begin{enumerate}
  10337.  \begin{flushleft}
  10338.  \begin{flushright}
  10339.  \title
  10340.  \today
  10341.  
  10342. The TeXinfo custom headings are supplanted by the LaTeX commands.
  10343.  
  10344.  
  10345. t2latexinfo.el
  10346. --------------
  10347.  
  10348.  
  10349. With the LaTeXinfo distribution is a file called `t2latexinfo.el',
  10350. which helps convert a TeXinfo file to a LaTeXinfo file.  Although it is
  10351. not a perfectly automatic conversion, it will convert most of a file to
  10352. LaTeXinfo.  To convert a TeXinfo File into an LaTeXInfo file, just
  10353. visit a TeXinfo file in GNU Emacs and invoke
  10354.  
  10355.      
  10356.      `Meta-x tex-to-latexinfo'
  10357.  
  10358.  
  10359. to convert it to a LaTeXInfo file.  Then search through the buffer to
  10360. see if there are any command that were not converted.  These start with
  10361. the symbol `@'.  You may have to fix up the titlepage to use
  10362. `\author' and `\title' etc, and may choose
  10363. to move the `setfilename' command down to somewhere after the title
  10364. and copyright pages.  You will also have to fix up any places where you
  10365. have embedded TeX code such as
  10366.  
  10367. @tex
  10368. \overfullrule=0pt
  10369. @end tex
  10370.  
  10371. which will be converted into
  10372.  
  10373. \begin{tex}
  10374. \back overfullrule=0pt
  10375. \end{tex}
  10376.  
  10377. When you run `tex-to-latexinfo', you will be asked
  10378.      
  10379.      Would you like to do the @input files now, to do it all at once?
  10380.  
  10381. If you say `yes', all the `@input' files will be included, so
  10382. you can do all of the subfiles at the same time.  You will also be asked:
  10383.  
  10384.      
  10385.      Would you like all occurences of `@@' replaced by `@'?
  10386.  
  10387.  
  10388. This is normally the case, but if you say no, you will be asked
  10389.  
  10390.      
  10391.      Would you like all occurences of `@@' replaced by `\\'?
  10392.  
  10393.  
  10394. You must choose one of these two options.  The first option is normal
  10395. for most TeXinfo files;  the second option is only normally used for
  10396. converting the TeXinfo manual itself.
  10397.  
  10398.  
  10399. 
  10400. File: latexinfo2.info  Node: Converting Scribe Files to LaTeXinfo, Prev: Differences from TeXinfo, Up: Converting Files to LaTeXinfo, Next: Obtaining TeX
  10401.  
  10402. Converting Scribe Files to LaTeXinfo
  10403. ====================================
  10404.  
  10405.  
  10406. With the LaTeXinfo distribution is a file called `s2latexinfo.el',
  10407. which helps convert a Scribe file to a LaTeXinfo file.  Although it is
  10408. not a perfectly automatic conversion, it will convert most of a file to
  10409. LaTeXinfo.  To convert a Scribe file into a LaTeXInfo file, just
  10410. visit the Scribe file in GNU Emacs and invoke
  10411.  
  10412.      
  10413.      `Meta-x scribe-to-latexinfo'
  10414.  
  10415.  
  10416. to convert it to a LaTeXInfo file.  Then search through the buffer to
  10417. see if there are any commands that were not converted.  These start with
  10418. the symbol `@'. When you run `scribe-to-latexinfo', you will
  10419. be asked:
  10420.      
  10421.      Would you like to do the @include files now, to do it all at once?
  10422.  
  10423. If you say `yes', all the `@include' files will be included, so
  10424. you can do all of the subfiles at the same time.  You will also be asked:
  10425.  
  10426.      This program was written to convert the CMU Lisp manuals.  It is very
  10427.      heavily tailored to CMU and Common Lisp.  Expect to have to alter this
  10428.      file to tailor it to your needs.
  10429.  
  10430.  
  10431. 
  10432. File: latexinfo2.info  Node: Obtaining TeX, Prev: Converting Scribe Files to LaTeXinfo, Up: Top, Next: Command List
  10433.  
  10434. Obtaining LaTeX
  10435. ***************
  10436.  
  10437.     
  10438.  
  10439. TeX is freely redistributable.  You can obtain TeX for Unix systems from
  10440. the University of Washington for a distribution fee. LaTeX is included
  10441. with TeX
  10442.  
  10443. To order a full distribution, send $140.00 for a 1/2-inch 9-track 1600
  10444. bpi (tar or cpio) tape reel, or $165.00 for a 1/4-inch 4-track QIC-24
  10445. (tar or cpio) cartridge, to:
  10446.  
  10447.      
  10448.      Northwest Computing Support Center
  10449.      DR-10, Thomson Hall 35
  10450.      University of Washington
  10451.      Seattle, Washington 98195
  10452.  
  10453.  
  10454. Please make checks payable to the University of Washington.
  10455.  
  10456. Prepaid orders are preferred but purchase orders are acceptable;
  10457. however, purchase orders carry an extra charge of $10.00, to pay for
  10458. processing.
  10459.  
  10460. Overseas sites: please add to the base cost $20.00 for shipment via air
  10461. parcel post, or $30.00 for shipment via courier.
  10462.  
  10463. Please check with the Northwest Computing Support Center at the
  10464. University of Washington for current prices and formats:
  10465.  
  10466.      
  10467.      telephone:  (206) 543-6259
  10468.      email:      elisabet@max.u.washington.edu
  10469.  
  10470.  
  10471. 
  10472. File: latexinfo2.info  Node: Command List, Prev: Obtaining TeX, Up: Top, Next: Command Index
  10473.  
  10474. Command List
  10475. ************
  10476.  
  10477.  
  10478. Here is an alphabetical list of the \-commands in LaTeXinfo.
  10479. The alphabetical order ignores the 
  10480. \begin{} and 
  10481. \end{}
  10482. of environment commands.
  10483.  
  10484. \*     
  10485.      
  10486.      Force a line break. Do not end a paragraph that uses `\*' with an
  10487.      `\refill' command.  *Note Line Breaks::.
  10488.      
  10489. \\     
  10490.      Force a line break in the LaTeX file. *Note Line Breaks::.
  10491.      
  10492. \.     
  10493.      
  10494.      Stands for a period that really does end a sentence.  *Note
  10495.      Controlling Spacing::.
  10496.      
  10497. \:     
  10498.      
  10499.      Indicate to LaTeX that an immediately preceding period, question
  10500.      mark, exclamation mark, or colon does not end a sentence.  Prevent
  10501.      LaTeX from inserting extra whitespace as it does at the end of a
  10502.      sentence.  The command has no effect on the Info file output.
  10503.      *Note Controlling Spacing::.
  10504.      
  10505. \{     
  10506.      
  10507.      Stands for a left-hand brace, `{'.  *Note Inserting \back braces
  10508.      and periods: Braces Atsigns Periods.
  10509.      
  10510. \}     
  10511.      
  10512.      Stands for a right-hand brace, `}'.  *Note Inserting \back braces
  10513.      and periods: Braces Atsigns Periods.
  10514.      
  10515. \appendix     
  10516.      
  10517.      Begin the appendices.  All chapters and sections after this command
  10518.      will be treated as appendices, and marked with alphabetical chapter
  10519.      numbers.
  10520.      
  10521. \author{AUTHOR}     
  10522.       
  10523.      Typeset AUTHOR according to the current `documentstyles'.  *Note
  10524.      Titlepage::.
  10525.      
  10526. \b{TEXT}     
  10527.      
  10528.      Print TEXT in bold font.  No effect in Info.  *Note Fonts::.
  10529.      
  10530. \back     
  10531.      
  10532.      Stands for `\'.  *Note Inserting \samp{\back: Braces Atsigns
  10533.      Periods}.
  10534.      
  10535. \BibTeX{}     
  10536.      
  10537.      Insert the logo BibTeX.
  10538.      
  10539.      
  10540. \bullet{}     
  10541.      
  10542.      Generate a large round dot, or the closest possible thing to one.
  10543.      *Note Dots Bullets::.
  10544.      
  10545. \c COMMENT     
  10546.      
  10547.      Begin a comment in Texinfo.  The rest of the line does not appear
  10548.      in either the Info file or the printed manual.  A synonym for
  10549.      `\comment'.  *Note General Syntactic Conventions: Conventions.
  10550.      
  10551. \cartouche     
  10552.      
  10553.      Highlight an example or quotation by drawing a box with rounded
  10554.      corners around it.  Pair with `\end{cartouche}'.  No effect in
  10555.      Info.  *Note Drawing Cartouches Around Examples: cartouche.)
  10556.      
  10557. \begin{center}     
  10558.      
  10559.      Center the text following.  *Note Center Environment::.
  10560.      
  10561. \chapter{TITLE}     
  10562.      
  10563.      Begin a chapter.  The chapter title appears in the table of
  10564.      contents of a printed manual.  In Info, the title is underlined
  10565.      with asterisks.  *Note Chapter::.
  10566.      
  10567. \cindex{ENTRY}     
  10568.      
  10569.      Add ENTRY to the index of concepts.  *Note Defining the Entries of
  10570.      an Index: Index Entries.
  10571.      
  10572. \cite{REFERENCE}     
  10573.      
  10574.      Refer to a BibTeX bibliography item.  *Note Citations::.
  10575.      
  10576. \clearpage     
  10577.      
  10578.      Start a new page in a printed manual.  No effect in Info.  *Note
  10579.      Start a New Page: page.
  10580.      
  10581. \code{SAMPLE-CODE}     
  10582.      
  10583.      Highlight text that is an expression, a syntactically complete
  10584.      token of a program, or a program name.  *Note \code{\back code:
  10585.      code}.
  10586.      
  10587. \comment COMMENT     
  10588.      
  10589.      Begin a comment in LaTeXinfo.  The rest of the line does not appear
  10590.      in either the Info file or the printed manual, nor does following
  10591.      whitespace.  *Note General Syntactic Conventions: Conventions.
  10592.      
  10593. \copyright{}     
  10594.      
  10595.      Generate a copyright symbol.  *Note LaTeX and copyright::.
  10596.      
  10597.      
  10598. \defcv{CATEGORY}{CLASS}{NAME}     
  10599.      
  10600.      Format a description for a variable associated with a class in
  10601.      object-oriented programming.  Takes three arguments: the category
  10602.      of thing being defined, the class to which it belongs, and its
  10603.      name.  *Note Definition Commands::.
  10604.      
  10605. \deffn{CATEGORY}{NAME}{ARGUMENTS...}     
  10606.      
  10607.      Format a description for a function, interactive command, or
  10608.      similar entity that may take arguments.  `\deffn' takes as
  10609.      arguments the category of entity being described, the name of this
  10610.      particular entity, and its arguments, if any.  *Note Definition
  10611.      Commands::.
  10612.      
  10613. \backdefivar{CLASS}{INSTANCE-VARIABLE-NAME}
  10614.           
  10615.       Format a description for an instance variable in object-oriented
  10616.      programming.  The command is equivalent to `\defcv{Instance
  10617.      Variable} ...'.  *Note Definition Commands::.
  10618.      
  10619. \defmac{MACRO-NAME}{ARGUMENTS...}     
  10620.      
  10621.      Format a description for a macro.  The command is equivalent to
  10622.      `\deffn{Macro}...'.  *Note Definition Commands::.
  10623.      
  10624. \defmethod{CLASS}{METHOD-NAME}{ARGUMENTS...}     
  10625.      
  10626.      Format a description for a method in object-oriented programming.
  10627.      The command is equivalent to `\defop{Method} ...'.  Takes as
  10628.      arguments the name of the class of the method, the name of the
  10629.      method, and its arguments, if any.  *Note Definition Commands::.
  10630.      
  10631. \defop{CATEGORY}{CLASS}{NAME}{ARGUMENTS...}     
  10632.      
  10633.      Format a description for an operation in object-oriented
  10634.      programming.  `\defop' takes as arguments the overall name of the
  10635.      category of operation, the name of the class of the operation, the
  10636.      name of the operation, and its arguments, if any.  *Note Definition
  10637.      Commands::.
  10638.      
  10639. \defopt{OPTION-NAME}     
  10640.      
  10641.      Format a description for a user option.  The command is equivalent
  10642.      to `\defvr{User Option} ...'.  *Note Definition Commands::.
  10643.      
  10644. \defspec{SPECIAL-FORM-NAME}{ARGUMENTS}...     
  10645.      
  10646.      Format a description for a special form.  The command is equivalent
  10647.      to `\deffn{Special Form}...'.  *Note Definition Commands::.
  10648.      
  10649. \deftp{CATEGORY}{NAME-OF-TYPE}{ATTRIBUTES...}     
  10650.      
  10651.      Format a description for a data type.  `\deftp' takes as arguments
  10652.      the category, the name of the type (which is a word like `int' or
  10653.      `float'), and then the names of attributes of objects of that type.
  10654.      *Note Definition Commands::.
  10655.      
  10656. \deftypefn{CLASSIFICATION}{DATA-TYPE}{NAME}{ARGUMENTS...}     
  10657.      
  10658.      Format a description for a function or similar entity that may take
  10659.      arguments and that is typed.  `\deftypefn' takes as arguments the
  10660.      classification of entity being described, the type, the name of the
  10661.      entity, and its arguments *Note Definition Commands::.
  10662.      
  10663. \deftypefun{DATA-TYPE}{FUNCTION-NAME}{ARGUMENTS...}     
  10664.      
  10665.      Format a description for a function in a typed language.  The
  10666.      command is equivalent to `\deftypefn{Function}...'.  *Note
  10667.      Definition Commands::.
  10668.      
  10669. \deftypevr{CLASSIFICATION}{DATA-TYPE}{NAME}     
  10670.      
  10671.      Format a description for something like a variable in a typed
  10672.      language---an entity that records a value.  Takes as arguments the
  10673.      classification of entity being described, the type, and the name of
  10674.      the entity.  *Note Definition Commands::.
  10675.      
  10676. \deftypevar{DATA-TYPE}{VARIABLE-NAME}     
  10677.      
  10678.      Format a description for a variable in a typed language.  The
  10679.      command is equivalent to `\deftypevr{Variable}...'.  *Note
  10680.      Definition Commands::.
  10681.      
  10682. \defun{FUNCTION-NAME}{ARGUMENTS...}     
  10683.      
  10684.      Format a description for functions.  The command is equivalent to
  10685.      `\deffn{Function}...'.  *Note Definition Commands::.
  10686.      
  10687. \defvar{VARIABLE-NAME}     
  10688.      
  10689.      Format a description for variables.  The command is equivalent to
  10690.      `\defvr{Variable}...'.  *Note Definition Commands::.
  10691.      
  10692. \defvr{CATEGORY}{NAME}     
  10693.      
  10694.      Format a description for any kind of variable.
  10695.      `\defvr' takes as arguments the category of the
  10696.      entity and the name of the entity. *Note Definition Commands::.
  10697.      
  10698. \begin{description}     
  10699.      
  10700.      Begin a description, using `\item' for each entry.  Write each
  10701.      first column entry as `\item[ENTRY]'.  *Note Description
  10702.      Environment::.
  10703.      
  10704. \dfn{TERM}     
  10705.      
  10706.      Highlight the introductory or defining use of a term.  *Note
  10707.      \code{\back dfn: dfn}.
  10708.      
  10709. \begin{display}     
  10710.      
  10711.      Begin a kind of example.  Indent text, do not fill, do not select a
  10712.      new font.  Pair with `\end{display}'.  *Note \code{\back
  10713.      begin\{display\: display}}.
  10714.      
  10715. \dmn{DIMENSION}     
  10716.      
  10717.      Format a dimension.  Causes LaTeX to insert a narrow space before
  10718.      DIMENSION.  Has no effect in Info.  Used for writing a number
  10719.      followed by an abbreviation of a dimension name, such as `12pt',
  10720.      written as `12\dmn{pt}', with no space between the number and the
  10721.      `\dmn' command.  *Note \code{\back dmn: dmn}.
  10722.      
  10723. \end{document}     
  10724.      
  10725.      Terminate LaTeX processing on the file.  LaTeX does not see any of
  10726.      the contents of the file following the `\end{document}' command.
  10727.      *Note Ending a File::.
  10728.      
  10729. \dots{}     
  10730.      
  10731.      Insert an ellipsis: `...'.  *Note Dots Bullets::.
  10732.      
  10733. \emph{TEXT}     
  10734.      
  10735.      Highlight TEXT.  *Note Emphasizing Text: Emphasis.
  10736.      
  10737. \begin{enumerate}     
  10738.      
  10739.      Begin a numbered list, using `\item' for each entry.  Pair with
  10740.      `\end{enumerate}'.  *Note \code{\back begin\{enumerate\:
  10741.      enumerate}}.
  10742.      
  10743. \equiv{}     
  10744.      
  10745.      Indicate the exact equivalence of two forms to the reader with a
  10746.      special glyph: `=='.  *Note Equivalence::.
  10747.      
  10748. \error{}     
  10749.      
  10750.      Indicate to the reader with a special glyph that the following text
  10751.      is an error message: `error-->'.  *Note Error Special Glyph::.
  10752.      
  10753. \begin{example}     
  10754.      
  10755.      Begin an example.  Indent text, do not fill, select fixed-width
  10756.      font.  Pair with `\end{example}'.  *Note \code{\back
  10757.      begin\{example\: example}}.
  10758.      
  10759. \exdent LINE-OF-TEXT     
  10760.      
  10761.      Remove any indentation a line might have.  *Note Undoing the
  10762.      Indentation of a Line: exdent.
  10763.      
  10764. \expansion{}     
  10765.      
  10766.      Indicate the result of a macro expansion to the reader with a
  10767.      special glyph: `==>'.  *Note expansion::.
  10768.      
  10769. \file{FILENAME}     
  10770.      
  10771.      Highlight the name of a file or directory.  *Note \code{\back file:
  10772.      file}.
  10773.      
  10774. \finalout     
  10775.      
  10776.      Prevent LaTeX from printing large black warning rectangles beside
  10777.      over-wide lines.  *Note Overfull Hboxes::.
  10778.      
  10779. \findex{ENTRY}     
  10780.      
  10781.      Add ENTRY to the index of functions.  *Note Defining the Entries of
  10782.      an Index: Index Entries.
  10783.      
  10784. \begin{flushleft}     
  10785.      
  10786.      Left justify every line but leave the right end ragged.  Leave font
  10787.      as is.  Pair with `\end{flushleft}'.  *Note \code{\back
  10788.      begin\{flushleft\: flushleft & flushright} and
  10789.      `\begin{flushright}'}.
  10790.      
  10791. \begin{flushright}     
  10792.      
  10793.      Right justify every line but leave the left end ragged.  Leave font
  10794.      as is.  Pair with `\end{flushright}'.  *Note \code{\back
  10795.      begin\{flushleft\: flushleft & flushright} and
  10796.      `\begin{flushright}'}.
  10797.      
  10798. \footnote{TEXT-OF-FOOTNOTE}     
  10799.      
  10800.      Enter a footnote.  Footnote text is printed at the bottom of the
  10801.      page by LaTeX; Info may format in either `End Node' or `Make Node'
  10802.      style.  *Note Footnotes::.
  10803.      
  10804. \footnotestyle{STYLE}     
  10805.      
  10806.      Specify an Info file's footnote style, either `end' for the end
  10807.      node style or `separate' for the separate node style.  *Note
  10808.      Footnotes::.
  10809.      
  10810. \begin{format}     
  10811.      
  10812.      Begin a kind of example.  Like `\begin{example}' or
  10813.      `\begin{display}', but do not narrow the margins and do not select
  10814.      the fixed-width font.  Pair with `\end{format}'.  *Note \code{\back
  10815.      begin\{example\: example}}.
  10816.      
  10817. \i{TEXT}     
  10818.      
  10819.      Print TEXT in italic font.  No effect in Info.  *Note Fonts::.
  10820.      
  10821. \begin{ifinfo}     
  10822.      
  10823.      Begin a stretch of text that will be ignored by LaTeX when it
  10824.      typesets the printed manual.  The text appears only in the Info
  10825.      file.  Pair with `\end{ifinfo}'.  *Note Conditionally Visible Text:
  10826.      Conditionals.
  10827.      
  10828. \begin{iftex}     
  10829.      
  10830.      Begin a stretch of text that will not appear in the Info file, but
  10831.      will be processed only by LaTeX.  Pair with `\end{iftex}'.  *Note
  10832.      Conditionally Visible Text: Conditionals.
  10833.      
  10834. \begin{ignore}     
  10835.      
  10836.      Begin a stretch of text that will not appear in either the Info
  10837.      file or the printed output.  Pair with `\end{ignore}'.  *Note
  10838.      Comments and Ignored Text: Comments.
  10839.      
  10840. \include{FILENAME}     
  10841.      
  10842.      Incorporate the contents of the file FILENAME into the Info file or
  10843.      printed document.  *Note Include Files::.
  10844.      
  10845. \inforef{NODE-NAME, [ENTRY-NAME], INFO-FILE-NAME}     
  10846.      
  10847.      Make a cross reference to an Info file for which there is no
  10848.      printed manual.  *Note Cross references using \code{\back inforef:
  10849.      inforef}.
  10850.      
  10851. \input{FILENAME}     
  10852.      
  10853.      Input the contents of the file FILENAME into the Info file or
  10854.      printed document.  *Note Input Files::.
  10855.      
  10856. \item     
  10857.      
  10858.      Indicate the beginning of a marked paragraph for `\begin{itemize}'
  10859.      and `\begin{enumerate}' and `\begin{description}' environments.
  10860.      
  10861. \begin{itemize}     
  10862.      
  10863.      Produce a sequence of indented paragraphs, with a mark inside the
  10864.      left margin at the beginning of each paragraph.  Pair with
  10865.      `\end{itemize}'.  *Note Itemize Environment::.
  10866.      
  10867. \kbd{KEYBOARD-CHARACTERS}     
  10868.      
  10869.      Indicate text that consists of characters of input to be typed by
  10870.      users.  *Note \code{\back kbd: kbd}.
  10871.      
  10872. \key{KEY-NAME}     
  10873.      
  10874.      Highlight KEY-NAME, a conventional name for a key on a keyboard.
  10875.      *Note \code{\back key: key}.
  10876.      
  10877. \kindex{ENTRY}     
  10878.      
  10879.      Add ENTRY to the index of keys.  *Note Defining the Entries of an
  10880.      Index: Index Entries.
  10881.      
  10882. \LaTeX{}     
  10883.      
  10884.      Insert the logo LaTeX.
  10885.      
  10886. \begin{lisp}     
  10887.      
  10888.      Begin an example of Lisp code.  Indent text, do not fill, select
  10889.      fixed-width font.  Pair with `\end{lisp}'.  *Note \code{\back
  10890.      begin\{lisp\: Lisp Example}}.
  10891.      
  10892. \begin{menu}     
  10893.      
  10894.      Mark the beginning of a menu of nodes in Info.  No effect in a
  10895.      printed manual.  Pair with `\end{menu}'.  *Note Menu Environment::.
  10896.      
  10897. \minus{}     
  10898.      
  10899.      Generate a minus sign.  *Note \code{\back minus: minus}.
  10900.      
  10901. \need{N}     
  10902.      
  10903.      Start a new page in a printed manual if fewer than N mils
  10904.      (thousandths of an inch) remain on the current page.  *Note
  10905.      \code{\back need: need}.
  10906.      
  10907. \node NAME, NEXT, PREVIOUS, UP     
  10908.      
  10909.      Define the beginning of a new node in Info, and serve as a locator
  10910.      for references for LaTeX.  *Note \code{\back node: node}.
  10911.      
  10912. \noindent     
  10913.      
  10914.      Prevent text from being indented as if it were a new paragraph.
  10915.      *Note \code{\back noindent: noindent}.
  10916.      
  10917. \nxref{NODE-NAME, [ENTRY], [TOPIC], [INFO-FILE], [MANUAL]}     
  10918.      
  10919.      Make a reference.  In a printed manual, the reference does not
  10920.      start with a `See'.  Follow command with a punctuation mark.  Only
  10921.      the first argument is mandatory.  *Note \code{\back nxref: ref}.
  10922.      
  10923. \paragraphindent{INDENT}     
  10924.      
  10925.      Indent paragraphs by INDENT number of spaces; delete indentation if
  10926.      the value of INDENT is 0; and do not change indentation if INDENT
  10927.      is `asis'. *Note Paragraph Indenting: paragraphindent.
  10928.      
  10929. \pindex{ENTRY}     
  10930.      
  10931.      Add ENTRY to the index of programs.  *Note Defining the Entries of
  10932.      an Index: Index Entries.
  10933.      
  10934. \point{}     
  10935.      
  10936.      Indicate the position of point in a buffer to the reader with a
  10937.      special glyph: `-!-'.  *Note Indicating Point in a Buffer: Point
  10938.      Special Glyph.
  10939.      
  10940. \print{}     
  10941.      
  10942.      Indicate printed output to the reader with a special glyph: `-|'.
  10943.      *Note Print Special Glyph::.
  10944.      
  10945. \printindex{INDEX-NAME}     
  10946.      
  10947.      Print an alphabetized two-column index in a printed manual or
  10948.      generate an alphabetized menu of index entries for Info.  *Note
  10949.      Printing an Index and Generating Menus::.
  10950.      
  10951. \pxref{NODE-NAME, [ENTRY], [TOPIC], [INFO-FILE], [MANUAL]}     
  10952.      
  10953.      Make a reference that starts with a lower case `see' in a printed
  10954.      manual.  Use within parentheses only.  Do not follow command with a
  10955.      punctuation mark.  The Info formatting commands automatically
  10956.      insert terminating punctuation as needed, which is why you do not
  10957.      need to insert punctuation.  Only the first argument is mandatory.
  10958.      *Note \code{\back pxref: pxref}.
  10959.      
  10960. \begin{quotation}     
  10961.       Narrow the margins to indicate text that is quoted from another
  10962.      real or imaginary work, and indent following text.  Write command
  10963.      on a line of its own.  Pair with `\end{quotation}'.  *Note
  10964.      Quotations::.
  10965.      
  10966. \begin{quote}     
  10967.      
  10968.      Narrow the margins to indicate text that is quoted from another
  10969.      real or imaginary work.  Write command on a line of its own.  Pair
  10970.      with `\end{quote}'.  *Note Quotations::.
  10971.      
  10972. \r{TEXT}     
  10973.      
  10974.      Print TEXT in roman font.  No effect in Info.  *Note Fonts::.
  10975.      
  10976. \refill     
  10977.      
  10978.      In Info, refill and indent the paragraph after all the other
  10979.      processing has been done.  No effect on LaTeX, which always
  10980.      refills.  *Note Refilling Paragraphs::.
  10981.      
  10982. \result{}     
  10983.      
  10984.      Indicate the result of an expression to the reader with a special
  10985.      glyph: `=> '.  *Note \code{\back result: result}.
  10986.      
  10987. \samp{TEXT}     
  10988.      
  10989.      Highlight TEXT that is a literal example of a sequence of
  10990.      characters.  Used for single characters, for statements and often
  10991.      for entire shell commands.  *Note \code{\back code: samp}.
  10992.      
  10993. \scap{TEXT}     
  10994.      
  10995.      Set TEXT in a printed output in the small caps font and set text in
  10996.      the Info file in uppercase letters.  *Note Smallcaps::.
  10997.      
  10998. \setfilename{INFO-FILE-NAME}     
  10999.      
  11000.      Provide a name for the Info file.  *Note General Syntactic
  11001.      Conventions: Conventions.
  11002.      
  11003. \begin{smalllisp}     
  11004.      
  11005.      Begin an example of Lisp code.  Indent text, do not fill, select a
  11006.      small fixed-width font.  Pair with `\end{lisp}'.  *Note \code{\back
  11007.      begin\{lisp\: Lisp Example}}.
  11008.      
  11009. \title{TITLE}     
  11010.      
  11011.      Provide a title for page headers in a printed manual, and for the
  11012.      titlepage.  *Note General Syntactic Conventions: Conventions.
  11013.      
  11014. \begin{same}     
  11015.      
  11016.      Hold text together that must appear on one printed page.  Pair with
  11017.      `\end{same}'.  Not relevant to Info.  *Note \code{\back
  11018.      begin\{same\: group}}.
  11019.      
  11020. \begin{smallexample}     
  11021.      
  11022.      Indent text to indicate an example.  Do not fill, select
  11023.      fixed-width font.  In `\smallbook' format, print text in a smaller
  11024.      font than with `\begin{example}'.  Pair with `\end{smallexample}'.
  11025.      *Note Examples and Verbatim::.
  11026.      
  11027. \smalllisp     
  11028.      
  11029.      Begin an example of Lisp code.  Indent text, do not fill, select
  11030.      fixed-width font.  In `\smallbook' format, print text in a smaller
  11031.      font.  Pair with `\end{smalllisp}'.  *Note Examples and Verbatim::.
  11032.      
  11033. \sp{N}     
  11034.      
  11035.      Skip N blank lines.  *Note \code{\back sp: sp}.
  11036.      
  11037. \strong{TEXT}     
  11038.      
  11039.      Emphasize TEXT by typesetting it in a *bold* font for the printed
  11040.      manual and by surrounding it with asterisks for Info.  *Note
  11041.      Emphasizing Text: emph & strong.
  11042.      
  11043. \subsection{TITLE}     
  11044.      
  11045.      Begin a subsection within a section.  In a printed manual, the
  11046.      subsection title is numbered and appears in the table of contents.
  11047.      In Info, the title is underlined with hyphens.  *Note Subsection::.
  11048.      
  11049. \subsubsection{TITLE}     
  11050.      
  11051.      Begin a subsubsection within a subsection.  In a printed manual,
  11052.      the subsubsection title is numbered and appears in the table of
  11053.      contents.  In Info, the title is underlined with periods.  *Note
  11054.      Subsubsection::.
  11055.      
  11056. \syncodeindex{FROM-INDEX}{INTO-INDEX}     
  11057.      
  11058.      Merge the index named in the first argument into the index named in
  11059.      the second argument, printing the entries from the first index in
  11060.      `\code' font.  *Note Combining Indices::.
  11061.      
  11062. \synindex{FROM-INDEX}{INTO-INDEX}     
  11063.      
  11064.      Merge the index named in the first argument into the index named in
  11065.      the second argument.  Do not change the font of FROM-INDEX entries.
  11066.      *Note Combining Indices::.
  11067.      
  11068. \t{TEXT}     
  11069.      
  11070.      Print TEXT in a fixed-width font.  No effect in Info.  *Note
  11071.      Fonts::.
  11072.      
  11073. \tableofcontents     
  11074.      
  11075.      Print a complete table of contents.  Has no effect in Info, which
  11076.      uses menus instead.  *Note Generating a Table of Contents::.
  11077.      
  11078. \TeX{}     
  11079.      
  11080.      Insert the logo TeX.
  11081.      
  11082. \begin{tex}     
  11083.      
  11084.      Enter LaTeX completely.  Pair with `\end{tex}'.  *Note Using
  11085.      Ordinary LaTeX Commands::.
  11086.      
  11087. \tindex{ENTRY}     
  11088.      
  11089.      Add ENTRY to the index of data types.  *Note Defining the Entries
  11090.      of an Index: Index Entries.
  11091.      
  11092. \title{TITLE}     
  11093.      
  11094.      In a printed manual, set a title in a larger than normal font and
  11095.      underline it with a black rule.  *Note Titlepage::.
  11096.      
  11097. \today{}     
  11098.      
  11099.      Insert the current date.  *Note Custom Headings::.
  11100.      
  11101. \unnumbered{TITLE}     
  11102.      
  11103.      In a printed manual, begin a chapter that appears without chapter
  11104.      numbers of any kind.  The title appears in the table of contents of
  11105.      a printed manual.  In Info, the title is underlined with asterisks.
  11106.      *Note Chapter::.
  11107.      
  11108. \unnumberedsec{TITLE}     
  11109.      
  11110.      In a printed manual, begin a section that appears without section
  11111.      numbers of any kind.  The title appears in the table of contents of
  11112.      a printed manual.  In Info, the title is underlined with equal
  11113.      signs.  *Note Section::.
  11114.      
  11115. \unnumberedsubsec{TITLE}     
  11116.      
  11117.      In a printed manual, begin an unnumbered subsection within a
  11118.      chapter.  The title appears in the table of contents of a printed
  11119.      manual.  In Info, the title is underlined with hyphens.  *Note
  11120.      Subsection::.
  11121.      
  11122. \unnumberedsubsubsec{TITLE}     
  11123.      
  11124.      In a printed manual, begin an unnumbered subsubsection within a
  11125.      chapter.  The title appears in the table of contents of a printed
  11126.      manual.  In Info, the title is underlined with periods.  *Note
  11127.      Subsubsection::.
  11128.      
  11129. \var{METASYNTACTIC-VARIABLE}     
  11130.      
  11131.      Highlight a metasyntactic variable, which is something that stands
  11132.      for another piece of text.  Thus, in this entry, the word
  11133.      METASYNTACTIC-VARIABLE is highlighted with `\var'.  *Note
  11134.      Indicating Metasyntactic Variables: var.
  11135.      
  11136. \vindex{ENTRY}     
  11137.      
  11138.      Add ENTRY to the index of variables.  *Note Defining the Entries of
  11139.      an Index: Index Entries.
  11140.      
  11141. \vspace{AMOUNT}     
  11142.      
  11143.      In a printed manual, insert whitespace so as to push text on the
  11144.      remainder of the page towards the bottom of the page.  Used in
  11145.      formatting the copyright page with the argument `0pt plus 1filll'.
  11146.      (Note spelling of `filll'.)  `\vspace' is ignored for Info.  *Note
  11147.      The Copyright Page and Printed Permissions::.
  11148.      
  11149. \w{TEXT}     
  11150.      
  11151.      Prevent TEXT from being split across two lines.  Do not end a
  11152.      paragraph that uses `\w' with an `\refill' command.  In the
  11153.      LaTeXinfo file, keep TEXT on one line.  *Note \code{\back w: w}.
  11154.      
  11155.      [TOPIC], [INFO-FILE], [MANUAL]}] Make a reference that starts with
  11156.      `See' in a printed manual.  Follow command with a punctuation mark.
  11157.      Only the first argument is mandatory.  *Note \code{\back xref:
  11158.      xref}.
  11159.  
  11160.  
  11161.  
  11162.  
  11163.  
  11164. References
  11165. **********
  11166.  
  11167.  
  11168.      
  11169. Lamport1986     
  11170.      
  11171.      Leslie Lamport.
  11172.      LATEX: A DOCUMENT PREPARATION SYSTEM.
  11173.      Addison-Wesley, Reading, MA, 1986.
  11174.      
  11175. GNUEmacsManual     
  11176.      
  11177.      Richard Stallman.
  11178.      THE GNU EMACS MANUAL.
  11179.      The Free Software Foundation, 675 Massachusetts Ave., Cambridge MA,
  11180.        02139, 1986.
  11181.      
  11182. Steele1990     
  11183.      
  11184.      Guy~L. Steele.
  11185.      {COMMON LISP - THE LANGUAGE II}.
  11186.      Addison--Wesley, Reading, MA, 1990.
  11187.      
  11188.  
  11189.  
  11190. 
  11191. File: latexinfo2.info  Node: Command Index, Prev: Command List, Up: Top, Next: Concept Index
  11192.  
  11193. Command Index
  11194. *************
  11195.  
  11196.  
  11197. This is an alphabetical list of all the \-commands and several
  11198. variables.  To make the list easier to use, the commands are listed
  11199. without their preceding `\'.
  11200.  
  11201.  
  11202. * Menu:
  11203.  
  11204. * .  (true end of sentence): Controlling Spacing.
  11205. * * (force line break): Line Breaks.
  11206. * ': LaTeXinfo support for European languages.
  11207. * ^: LaTeXinfo support for European languages.
  11208. * `: LaTeXinfo support for European languages.
  11209. * { (single `{'): Inserting Braces.
  11210. * } (single `}'): Inserting Braces.
  11211. * : (suppress widening): Controlling Spacing.
  11212. * alwaysrefill: Always Refilling Paragraphs.
  11213. * appendix: Appendix.
  11214. * apply: Sample Function Definition.
  11215. * author: Titlepage.
  11216. * b (bold font): Fonts.
  11217. * b: LaTeXinfo support for European languages.
  11218. * bibliographystyle: Making a Bibliography.
  11219. * buffer-end: Def Cmd Template.
  11220. * bullet: bullet.
  11221. * bye: File End.
  11222. * c (comment): Comments.
  11223. * c: Comments.
  11224. * c: LaTeXinfo support for European languages.
  11225. * c: LaTeXinfo support for European languages.
  11226. * c: LaTeXinfo support for European languages.
  11227. * caption: Figures and Tables.
  11228. * cartouche: cartouche.
  11229. * center: Center Environment.
  11230. * chapter*: Chapter.
  11231. * chapter: Chapter.
  11232. * cindex: Indexing Commands.
  11233. * cite: Citations.
  11234. * clearpage: The Copyright Page and Printed Permissions.
  11235. * clisp: Clisp Style.
  11236. * code: code.
  11237. * comment: Comments.
  11238. * comment: Comments.
  11239. * copyright: copyright symbol.
  11240. * copyright: The Copyright Page and Printed Permissions.
  11241. * cpindexbold: Special Index Entries.
  11242. * cpsubindex: Special Index Entries.
  11243. * ctrl: Ctrl.
  11244. * date: Titlepage.
  11245. * defconstx: Clisp Style.
  11246. * defcv: Abstract Objects.
  11247. * deffn: Functions Commands.
  11248. * deffnx: Clisp Style.
  11249. * deffunx: Clisp Style.
  11250. * defivar: Abstract Objects.
  11251. * defmac: Functions Commands.
  11252. * defmacx: Clisp Style.
  11253. * defmethod: Abstract Objects.
  11254. * defop: Abstract Objects.
  11255. * defopt: Data Types.
  11256. * defspec: Functions Commands.
  11257. * defspecx: Clisp Style.
  11258. * deftp: Data Types.
  11259. * deftypefn: Typed Functions.
  11260. * deftypefun: Typed Functions.
  11261. * deftypevar: Typed Variables.
  11262. * deftypevr: Typed Variables.
  11263. * defun: Functions Commands.
  11264. * defvar: Variables Commands.
  11265. * defvarx: Clisp Style.
  11266. * defvr: Variables Commands.
  11267. * defvrx: Clisp Style.
  11268. * description: Description Environment.
  11269. * dfn: dfn.
  11270. * display: display.
  11271. * dmn: dmn.
  11272. * dots: dots.
  11273. * emph: emph & strong.
  11274. * end: Displaying Material.
  11275. * end: Introducing Lists.
  11276. * enumerate: enumerate.
  11277. * evenfoot: Custom Headings.
  11278. * example: example.
  11279. * exdent: exdent.
  11280. * figure: Figures and Tables.
  11281. * file: file.
  11282. * filll: The Copyright Page and Printed Permissions.
  11283. * finalout: Overfull Hboxes.
  11284. * findex: Indexing Commands.
  11285. * flushleft: flushleft & flushright.
  11286. * flushright: flushleft & flushright.
  11287. * fnindexbold: Special Index Entries.
  11288. * foobar: Optional Parameters.
  11289. * foobar: Typed Functions.
  11290. * footnote: Footnotes.
  11291. * footnotestyle: Custom Headings.
  11292. * footnotestyle: Footnotes.
  11293. * format: format.
  11294. * forward-word: Def Cmd Template.
  11295. * hline: Tabular Environment.
  11296. * hline: Tabular Environment.
  11297. * i (italic font): Fonts.
  11298. * i: LaTeXinfo support for European languages.
  11299. * ifinfo: Conditionals.
  11300. * iftex: Conditionals.
  11301. * iftex: Using Ordinary LaTeX Commands.
  11302. * ignore: Comments.
  11303. * include: Using Include Files.
  11304. * inforef: inforef.
  11305. * Info-validate: Running Info-Validate.
  11306. * input: Input Files.
  11307. * item: Description Environment.
  11308. * item: Itemize Environment.
  11309. * itemize: Itemize Environment.
  11310. * kbd: kbd.
  11311. * key: key.
  11312. * kindex: Indexing Commands.
  11313. * kyindexbold: Special Index Entries.
  11314. * LaTeX: LaTeX.
  11315. * latexindex: How to Print.
  11316. * latexindex: Printing Hardcopy.
  11317. * latexinfo-all-menus-update: Updating Commands.
  11318. * latexinfo-every-node-update: Updating Commands.
  11319. * latexinfo-format-buffer: Info Formatting.
  11320. * latexinfo-format-buffer: latexinfo-format commands.
  11321. * latexinfo-format-buffer: latexinfo-format commands.
  11322. * latexinfo-format-region: Info Formatting.
  11323. * latexinfo-format-region: latexinfo-format commands.
  11324. * latexinfo-format-region: latexinfo-format commands.
  11325. * latexinfo-indent-menu-description: Other Updating Commands.
  11326. * latexinfo-insert-braces: Inserting.
  11327. * latexinfo-insert-code: Inserting.
  11328. * latexinfo-insert-dfn: Inserting.
  11329. * latexinfo-insert-end: Inserting.
  11330. * latexinfo-insert-example: Inserting.
  11331. * latexinfo-insert-item: Inserting.
  11332. * latexinfo-insert-kbd: Inserting.
  11333. * latexinfo-insert-node: Inserting.
  11334. * latexinfo-insert-node-lines: Other Updating Commands.
  11335. * latexinfo-insert-noindent: Inserting.
  11336. * latexinfo-insert-samp: Inserting.
  11337. * latexinfo-insert-var: Inserting.
  11338. * latexinfo-latex-buffer: Printing.
  11339. * latexinfo-latex-print: Printing.
  11340. * latexinfo-latex-region: Printing.
  11341. * latexinfo-make-menu: Updating Commands.
  11342. * latexinfo-master-menu: Updating Commands.
  11343. * latexinfo-multiple-files-update: latexinfo-multiple-files-update.
  11344. * latexinfo-multiple-files-update: Other Updating Commands.
  11345. * latexinfo-sequential-node-update: Other Updating Commands.
  11346. * latexinfo-show-structure: Showing the Structure.
  11347. * latexinfo-show-structure: Using latexinfo-show-structure.
  11348. * latexinfo-update-node: Updating Commands.
  11349. * lisp: Lisp Example.
  11350. * lpr (dvi print command): How to Print.
  11351. * maketitle: Titlepage.
  11352. * markboth: Custom Headings.
  11353. * markright: Custom Headings.
  11354. * menu: Menu Environment.
  11355. * minus: minus.
  11356. * n (normalsize font): Fonts.
  11357. * need: need.
  11358. * newindex: New Indexes.
  11359. * noindent: noindent.
  11360. * occur: Using occur.
  11361. * occur-mode-goto-occurrence: Showing the Structure.
  11362. * oddfoot: Custom Headings.
  11363. * onecolumn: Printing an Index and Generating Menus.
  11364. * page: page.
  11365. * pagenumbering: Custom Headings.
  11366. * pagestyle: Custom Headings.
  11367. * pagestyle: The Copyright Page and Printed Permissions.
  11368. * paragraphindent: paragraphindent.
  11369. * pgindexbold: Special Index Entries.
  11370. * pindex: Indexing Commands.
  11371. * printindex: Printing an Index and Generating Menus.
  11372. * pxref: pxref.
  11373. * quotation: quotation.
  11374. * quotation: quotation.
  11375. * quote: quotation.
  11376. * r (Roman font): Fonts.
  11377. * ref: ref.
  11378. * refill: Refilling Paragraphs.
  11379. * same: group.
  11380. * samp: samp.
  11381. * scap (small caps font): Smallcaps.
  11382. * section*: Section.
  11383. * section: Section.
  11384. * setfilename: setfilename.
  11385. * \(single `\'): Inserting An Atsign.
  11386. * smallverbatim: Verbatim Environment.
  11387. * sp (line spacing): sp.
  11388. * strong: emph & strong.
  11389. * subsection*: Subsection.
  11390. * subsection: Subsection.
  11391. * subsubsection*: Subsubsection.
  11392. * subsubsection: Subsubsection.
  11393. * syncodeindex: Combining Indices.
  11394. * synindex: Combining Indices.
  11395. * t (typewriter font): Fonts.
  11396. * table: Figures and Tables.
  11397. * tabular: Tabular Environment.
  11398. * tabular: Tabular Environment.
  11399. * tex: Using Ordinary LaTeX Commands.
  11400. * thispagestyle: The Copyright Page and Printed Permissions.
  11401. * tindex: Indexing Commands.
  11402. * title: Titlepage.
  11403. * tpindexbold: Special Index Entries.
  11404. * twocolumn: Printing an Index and Generating Menus.
  11405. * unnumbered: Chapter.
  11406. * unnumberedsec: Section.
  11407. * unnumberedsubsec: Subsection.
  11408. * unnumberedsubsubsec: Subsubsection.
  11409. * up-list: Inserting.
  11410. * var: var.
  11411. * verb: Inserting Characters Verbatim.
  11412. * verbatim: Verbatim Environment.
  11413. * verbatimfile: Verbatim Environment.
  11414. * vindex: Indexing Commands.
  11415. * vrindexbold: Special Index Entries.
  11416. * vspace*: The Copyright Page and Printed Permissions.
  11417. * vspace: The Copyright Page and Printed Permissions.
  11418. * w (prevent line break): w.
  11419. * xref: xref.
  11420.  
  11421.  
  11422. 
  11423. File: latexinfo2.info  Node: Concept Index, Prev: Command Index, Up: Top
  11424.  
  11425. Concept Index
  11426. *************
  11427.  
  11428.  
  11429.  
  11430. * Menu:
  11431.  
  11432. * A Short Sample LaTeXinfo File: A Short Sample LaTeXinfo File.
  11433. * Abbreviations for keys: key.
  11434. * Adding a new info file: New Info File.
  11435. * Advantages of LaTeXinfo over TeXinfo: Advantages of LaTeXinfo over TeXinfo.
  11436. * Alphabetical \-command list: Command List.
  11437. * Always Refilling Paragraphs: Always Refilling Paragraphs.
  11438. * Another Info directory: Other Info Directories.
  11439. * Appendix: Appendix.
  11440. * Automatically insert nodes, menus : Updating Nodes and Menus.
  11441. * Badly referenced nodes : Running Info-Validate.
  11442. * Beginning a LaTeXinfo file: Beginning a File.
  11443. * Beginning line of a LaTeXinfo file: The Documentstyle.
  11444. * Black rectangle in hardcopy: Overfull Hboxes.
  11445. * Box with rounded corners: cartouche.
  11446. * Braces, inserting: Braces Atsigns Periods.
  11447. * Breaks in a line: Line Breaks.
  11448. * Buffer formatting and printing: Printing.
  11449. * Bullets, inserting: Dots Bullets.
  11450. * Capitalizing index entries: Indexing Commands.
  11451. * Catching errors with Info formatting: Debugging with Info.
  11452. * Catching errors with LaTeX formatting: Debugging with LaTeX.
  11453. * Catching Formatting Mistakes: Catching Formatting Mistakes.
  11454. * Center Environment: Center Environment.
  11455. * Centering a line: Center Environment.
  11456. * Chapter: Chapter.
  11457. * Chapter structuring: Structuring.
  11458. * Characteristics of printed manual: Printed Manuals.
  11459. * Checking for badly referenced nodes: Running Info-Validate.
  11460. * Citations: Citations.
  11461. * Cite: Citations.
  11462. * Clisp Style: Clisp Style.
  11463. * Combining indices: Combining Indices.
  11464. * Command definitions: Sample Function Definition.
  11465. * Command Index: Command Index.
  11466. * Command list: Command List.
  11467. * \-commands: Formatting Commands.
  11468. * Commands, inserting them: Inserting.
  11469. * Commands to insert single characters: Braces Atsigns Periods.
  11470. * Commands using ordinary LaTeX: Using Ordinary LaTeX Commands.
  11471. * Comments: Comments.
  11472. * Compile command for formatting: Compile-Command.
  11473. * Concept Index: Concept Index.
  11474. * Conditionally visible text: Conditionals.
  11475. * Conditions for copying LaTeXinfo: Copying.
  11476. * Contents, Table of: Generating a Table of Contents.
  11477. * Contents-like outline of file structure: Showing the Structure.
  11478. * Conventions, syntactic: Conventions.
  11479. * Converting TeXinfo Files into LaTeXinfo Files: Converting TeXinfo Files into LaTeXinfo Files.
  11480. * Copying conditions: Copying.
  11481. * Copying permissions: Sample Permissions.
  11482. * Copying software: Software Copying Conditions.
  11483. * Copyright page: The Title and Copyright Pages.
  11484. * Copyright: The Copyright Page and Printed Permissions.
  11485. * Correcting mistakes: Catching Formatting Mistakes.
  11486. * Create nodes, menus automatically: Updating Nodes and Menus.
  11487. * Creating an Info file: Creating an Info file.
  11488. * Creating an unsplit file: Unsplit.
  11489. * Creating index entries: Indexing Commands.
  11490. * Creating indices: Creating Indices.
  11491. * Cross reference parts: Cross Reference Parts.
  11492. * Cross references: Cross References.
  11493. * Cross references using `\inforef': inforef.
  11494. * Cross references using `\nxref': ref.
  11495. * Cross references using `\pxref': pxref.
  11496. * Cross references using `\xref': xref.
  11497. * Ctrl: Ctrl.
  11498. * Debugging the LaTeXinfo structure: Catching Formatting Mistakes.
  11499. * Debugging with Info formatting: Debugging with Info.
  11500. * Debugging with LaTeX formatting: Debugging with LaTeX.
  11501. * Declaring indices: Declaring indices.
  11502. * Defining indexing entries: Indexing Commands.
  11503. * Definition commands: Definition Commands.
  11504. * Definition template: Def Cmd Template.
  11505. * Descriptions, making two-column: Description Environment.
  11506. * diacritical marks: LaTeXinfo support for European languages.
  11507. * Differences from TeXinfo: Differences from TeXinfo.
  11508. * Different cross reference commands: Cross Reference Commands.
  11509. * Dimension formatting: dmn.
  11510. * `dir' directory for Info installation: Installing an Info File.
  11511. * `dir' file listing: New Info File.
  11512. * Display formatting: display.
  11513. * Distribution: Software Copying Conditions.
  11514. * Dots, inserting: dots.
  11515. * Dots, inserting: Dots Bullets.
  11516. * dvi file: How to Print.
  11517. * Elisp Style: Definition Commands.
  11518. * Ellipsis, inserting: Dots Bullets.
  11519. * Emacs: LaTeXinfo Mode.
  11520. * Emacs shell, printing from: Printing from Emacs.
  11521. * Emphasizing text: Emphasis.
  11522. * Emphasizing text, font for: emph & strong.
  11523. * End of node footnote style: Footnotes.
  11524. * Ending a LaTeXinfo file: Ending a File.
  11525. * Entries for an index: Indexing Commands.
  11526. * Entries, making index: Index Entries.
  11527. * Enumeration: enumerate.
  11528. * environment variable, LATEXINFO: Writing Your Own Style Files.
  11529. * Equivalence, indicating it: Equivalence.
  11530. * Error message, indicating it: Error Special Glyph.
  11531. * Evaluation special glyph: result.
  11532. * Example menu: Menu Example.
  11533. * Examples: example.
  11534. * Expansion, indicating it: expansion.
  11535. * Extending LaTeXinfo: Extending LaTeXinfo.
  11536. * File beginning: Beginning a File.
  11537. * File beginning: Six Parts.
  11538. * File ending: Ending a File.
  11539. * File Header: The LaTeXinfo File Header.
  11540. * File section structure, showing it: Showing the Structure.
  11541. * Filling paragraphs: Always Refilling Paragraphs.
  11542. * Filling paragraphs: Refilling Paragraphs.
  11543. * Final output: Overfull Hboxes.
  11544. * Finding badly referenced nodes: Running Info-Validate.
  11545. * First line of a LaTeXinfo file: The Documentstyle.
  11546. * Fonts for indices: Combining Indices.
  11547. * Fonts for printing, not Info: Fonts.
  11548. * Footnotes: Footnotes.
  11549. * Format a dimension: dmn.
  11550. * Format and print in LaTeXinfo mode: LaTeXinfo Mode Printing.
  11551. * Format with the compile command: Compile-Command.
  11552. * Formatting a file for Info: Creating an Info file.
  11553. * Formatting commands: Formatting Commands.
  11554. * Formatting examples: example.
  11555. * Formatting for Info: Info Formatting.
  11556. * Formatting for printing: Printing.
  11557. * Frequently used commands, inserting: Inserting.
  11558. * Function definitions: Sample Function Definition.
  11559. * General syntactic conventions: Conventions.
  11560. * Generating a Table of Contents: Generating a Table of Contents.
  11561. * Generating menus with indices: Printing an Index and Generating Menus.
  11562. * Glyphs for examples : Special Glyphs.
  11563. * GNU Emacs: LaTeXinfo Mode.
  11564. * GNU Emacs shell, printing from: Printing from Emacs.
  11565. * Hardcopy, printing it: Printing Hardcopy.
  11566. * Hboxes, overfull: Overfull Hboxes.
  11567. * Header for LaTeXinfo files: The LaTeXinfo File Header.
  11568. * Highlighting: Indicating.
  11569. * Holding text together vertically: group.
  11570. * If text conditionally visible: Conditionals.
  11571. * Ignored text: Comments.
  11572. * Include files: Include Files.
  11573. * Including text verbatim: Verbatim Environment.
  11574. * Indentation undoing: exdent.
  11575. * Indenting paragraphs: paragraphindent.
  11576. * Index entries: Indexing Commands.
  11577. * Index entries, making: Index Entries.
  11578. * Index entry capitalization : Indexing Commands.
  11579. * Index font types: Indexing Commands.
  11580. * Indicating commands, definitions, etc.: Indicating.
  11581. * Indicating evaluation: result.
  11582. * Indices, combining them: Combining Indices.
  11583. * Indices: Creating Indices.
  11584. * Indices, declaring: Declaring indices.
  11585. * Indices, printing and menus: Printing an Index and Generating Menus.
  11586. * Indices, sorting: Printing Hardcopy.
  11587. * Indices, two letter names: Combining Indices.
  11588. * Indirect subfiles: Creating an Info file.
  11589. * Info, creating an on-line file: Creating an Info file.
  11590. * Info file installation: Installing an Info File.
  11591. * Info file, listing new one: New Info File.
  11592. * Info file requires `\setfilename': setfilename.
  11593. * Info file, splitting manually: Splitting.
  11594. * Info files: Info Files.
  11595. * Info formatting: Info Formatting.
  11596. * Info installed in another directory: Other Info Directories.
  11597. * Info validating a large file: Using Info-validate.
  11598. * Initialization file for LaTeX input: Preparing for LaTeX.
  11599. * Input and Include Files: Input and Include Files.
  11600. * Input Files: Input Files.
  11601. * Insert nodes, menus automatically: Updating Nodes and Menus.
  11602. * Inserting \, braces, and periods: Braces Atsigns Periods.
  11603. * Inserting dots: dots.
  11604. * Inserting dots: Dots Bullets.
  11605. * Inserting ellipsis: Dots Bullets.
  11606. * Inserting frequently used commands: Inserting.
  11607. * Inserting special characters and symbols: Insertions.
  11608. * Installing an Info file: Installing an Info File.
  11609. * Installing Info in another directory: Other Info Directories.
  11610. * Itemization: Itemize Environment.
  11611. * Keys, recommended names: key.
  11612. * LaTeX index sorting: Printing Hardcopy.
  11613. * LaTeX input initialization: Preparing for LaTeX.
  11614. * LATEXINFO environment variable: Writing Your Own Style Files.
  11615. * LaTeXinfo file beginning: Beginning a File.
  11616. * LaTeXinfo file beginning: Six Parts.
  11617. * LaTeXinfo file ending: Ending a File.
  11618. * LaTeXinfo file header: The LaTeXinfo File Header.
  11619. * LaTeXinfo file minimum: Minimum.
  11620. * LaTeXinfo file section structure, showing it: Showing the Structure.
  11621. * LaTeXinfo mode: LaTeXinfo Mode.
  11622. * LaTeXinfo overview: Overview.
  11623. * License agreement: Software Copying Conditions.
  11624. * Line breaks: Line Breaks.
  11625. * Line breaks, preventing: w.
  11626. * Line spacing: sp.
  11627. * Lisp example: Lisp Example.
  11628. * List of  \-Commands: Command List.
  11629. * Listing a new info file: New Info File.
  11630. * Lists and tables, making them: Lists and Tables.
  11631. * Local variables: Compile-Command.
  11632. * Location of menus: Menu Location.
  11633. * .login initialization file: Installing the Style Files.
  11634. * .login initialization file: Other Info Directories.
  11635. * .login initialization file: Preparing for LaTeX.
  11636. * Looking for badly referenced nodes: Running Info-Validate.
  11637. * Macro definitions: Sample Function Definition.
  11638. * Making a Bibliography: Making a Bibliography.
  11639. * Making a printed manual: Printing Hardcopy.
  11640. * Making a tag table manually: Unsplit.
  11641. * Making breaks: Breaks.
  11642. * Making cross references: Cross References.
  11643. * Making Lists Tables and Descriptions: Lists and Tables.
  11644. * Manual characteristics, printed: Printed Manuals.
  11645. * Marking text within a paragraph: Marking Text.
  11646. * Marking words and phrases: Marking Text.
  11647. * Master menu parts: Master Menu Parts.
  11648. * Master menu: The Top Node.
  11649. * Menu example: Menu Example.
  11650. * Menu item writing: Menu Item.
  11651. * Menu location: Menu Location.
  11652. * Menus generated with indices: Printing an Index and Generating Menus.
  11653. * Menus: Menu Environment.
  11654. * META key: key.
  11655. * Meta-syntactic chars for optional parameters: Optional Parameters.
  11656. * Minimal LaTeXinfo file: Minimum.
  11657. * Mistakes, catching: Catching Formatting Mistakes.
  11658. * Mode, using Latexinfo: LaTeXinfo Mode.
  11659. * Must have in LaTeXinfo file: Minimum.
  11660. * Names for indices: Combining Indices.
  11661. * Names recommended for keys: key.
  11662. * Naming a `Top' Node in references: Top Node Naming.
  11663. * Need space at page bottom: need.
  11664. * New info file, listing it: New Info File.
  11665. * Node line writing: Writing a Node.
  11666. * Node, Top: The Top Node.
  11667. * Nodes, Catching Formatting Mistakes: Catching Formatting Mistakes.
  11668. * Nodes, checking for badly referenced: Running Info-Validate.
  11669. * Nodes for menus are short: Menu Location.
  11670. * Nodes in other Info files: Other Info Files.
  11671. * Occurrences, listing with `\occur' : Using occur.
  11672. * Optional and repeated parameters: Optional Parameters.
  11673. * Ordinary LaTeX commands, using: Using Ordinary LaTeX Commands.
  11674. * Other Info files' nodes: Other Info Files.
  11675. * Outline of file structure, showing it: Showing the Structure.
  11676. * Overfull "Hboxes": Overfull Hboxes.
  11677. * Overview of LaTeXinfo: Overview.
  11678. * Page breaks: page.
  11679. * Page delimiter in LaTeXinfo mode: Showing the Structure.
  11680. * Paragraph indentation: paragraphindent.
  11681. * Paragraph, marking text within: Marking Text.
  11682. * Parameters, optional and repeated: Optional Parameters.
  11683. * Part of file formatting and printing: Printing.
  11684. * Parts of a cross reference: Cross Reference Parts.
  11685. * Parts of a master menu: Master Menu Parts.
  11686. * Periods, inserting: Braces Atsigns Periods.
  11687. * Permissions, printed: The Copyright Page and Printed Permissions.
  11688. * Permissions: Sample Permissions.
  11689. * Point, indicating it in a buffer: Point Special Glyph.
  11690. * Preface: Software Copying Conditions.
  11691. * Preparing for use of LaTeX: Preparing for LaTeX.
  11692. * Preventing breaks: Breaks.
  11693. * Print and format in LaTeXinfo mode: LaTeXinfo Mode Printing.
  11694. * Printed manual characteristics: Printed Manuals.
  11695. * Printed output, indicating it: Print Special Glyph.
  11696. * Printed permissions: The Copyright Page and Printed Permissions.
  11697. * Printing a region or buffer: Printing.
  11698. * Printing an index: Printing an Index and Generating Menus.
  11699. * Printing from an Emacs shell: Printing from Emacs.
  11700. * Printing hardcopy: Printing Hardcopy.
  11701. * Problems, catching: Catching Formatting Mistakes.
  11702. * .profile initialization file: Preparing for LaTeX.
  11703. * Quotations: quotation.
  11704. * Recommended names for keys: key.
  11705. * Rectangle, ugly, black in hardcopy: Overfull Hboxes.
  11706. * References: Cross References.
  11707. * References using `\inforef': inforef.
  11708. * References using `\nxref': ref.
  11709. * References using `\pxref': pxref.
  11710. * References using `\xref': xref.
  11711. * Referring to other Info files: Other Info Files.
  11712. * Refilling paragraphs: Refilling Paragraphs.
  11713. * Region formatting and printing: Printing.
  11714. * Region printing in LaTeXinfo mode: LaTeXinfo Mode Printing.
  11715. * Repeated and optional parameters: Optional Parameters.
  11716. * Requirements for updating commands: Updating Requirements.
  11717. * Result of an expression: result.
  11718. * Running an Info formatter: Info Formatting.
  11719. * Running `Info-validate': Using Info-validate.
  11720. * Same: group.
  11721. * Sample function definition: Sample Function Definition.
  11722. * Sample LaTeXinfo file: A Short Sample LaTeXinfo File.
  11723. * Sample LaTeXinfo file: Six Parts.
  11724. * Section: Section.
  11725. * Section structure of a file, showing it: Showing the Structure.
  11726. * Separate footnote style: Footnotes.
  11727. * Shell, printing from: Printing from Emacs.
  11728. * Short nodes for menus: Menu Location.
  11729. * Showing the section structure of a file: Showing the Structure.
  11730. * Showing the structure of a file: Using latexinfo-show-structure.
  11731. * Single characters, commands to insert: Braces Atsigns Periods.
  11732. * Small caps font: Smallcaps.
  11733. * Software copying conditions: Software Copying Conditions.
  11734. * Sorting indices: Printing Hardcopy.
  11735. * Spaces from line to line: sp.
  11736. * Special glyphs: Special Glyphs.
  11737. * Special insertions: Insertions.
  11738. * Special typesetting commands: Dots Bullets.
  11739. * Specifying index entries: Indexing Commands.
  11740. * Splitting an Info file manually: Splitting.
  11741. * Structure, Catching Formatting Mistakes in: Catching Formatting Mistakes.
  11742. * Structure of a file, showing it: Showing the Structure.
  11743. * Structuring of chapters: Structuring.
  11744. * Subsection: Subsection.
  11745. * Subsubsection: Subsubsection.
  11746. * Syntactic conventions: Conventions.
  11747. * Syntax of optional and repeated parameters: Optional Parameters.
  11748. * Table of contents: Generating a Table of Contents.
  11749. * Tables and lists, making them: Lists and Tables.
  11750. * Tabs; don't use!: Conventions.
  11751. * Tabular environment: Tabular Environment.
  11752. * Tag table, making manually: Unsplit.
  11753. * Template for a definition: Def Cmd Template.
  11754. * TeX commands, using ordinary: Using Ordinary LaTeX Commands.
  11755. * `TEXINPUTS' environment variable: Installing the Style Files.
  11756. * `TEXINPUTS' environment variable: Preparing for LaTeX.
  11757. * Text conditionally visible: Conditionals.
  11758. * Thin space between number and dimension: dmn.
  11759. * Titlepage permissions: Titlepage Permissions.
  11760. * Titlepage: Titlepage.
  11761. * Top node naming for references: Top Node Naming.
  11762. * Top node: The Top Node.
  11763. * Tree structuring: Tree Structuring.
  11764. * Two letter names for indices: Combining Indices.
  11765. * Typesetting commands for dots, etc.: Dots Bullets.
  11766. * Unprocessed text: Comments.
  11767. * Unsplit file creation: Unsplit.
  11768. * Updating nodes and menus: Updating Nodes and Menus.
  11769. * Updating requirements: Updating Requirements.
  11770. * Validating a large file: Using Info-validate.
  11771. * Value of an expression, indicating: result.
  11772. * Verbatim Environment: Verbatim Environment.
  11773. * Vertically holding text together: group.
  11774. * Visibility of conditional text: Conditionals.
  11775. * Words and phrases, marking them: Marking Text.
  11776. * Writing a menu item: Menu Item.
  11777. * Writing a node Line: Writing a Node.
  11778.  
  11779.  
  11780.